分类目录归档:黑科技

推荐几个常用的提高用户体验以及SEO优化的WordPress插件

W3 Total Cache: 这是一个免费的插件,可以通过缓存页面、数据库查询和对象来提高网站的速度,减少加载时间。

WP Super Cache: 这也是一个免费的插件,其主要功能是在服务器端生成静态HTML文件,以减少动态页面的生成次数。

WP Fastest Cache: 这个插件可以缓存页面、最小化HTML和CSS、延迟图片加载等,以提高网站速度。

Comet Cache: 这个插件可以缓存页面、文章、Feed和分类目录,还可以设置浏览器缓存,以进一步加快网站速度。

WP Smush:这个插件可以帮助你压缩图片,减少页面加载时间,而且不会影响图片质量。

Jetpack:这个多功能插件可以帮助你提高网站速度、安全性和SEO,同时还提供了社交媒体分享和邮件订阅等功能。

Broken Link Checker:这个插件可以自动检测网站中的坏链接,并通知你更新或删除它们,以保持网站健康。

Yoast SEO:这是一个流行的SEO插件,可以帮助你优化网页标题、描述、关键词等元素,从而提高搜索引擎排名。

File Manager:这个插件具有直观的界面和强大的功能,包括多文件上传、压缩/解压、文件夹压缩、可视化编辑、重命名、复制/粘贴等。

WP File Download:这个插件提供了一种直观、简单的方法来管理文件和文件夹,支持分类目录、标签、搜索、过滤等功能。

FileBird:这个插件为你的文件和文件夹提供了一个整洁的外观和结构,可以轻松地组织和管理你的文件。

Advanced File Manager:这个插件提供了所有必要的功能来管理文件和文件夹,如上传、下载、删除、查看、编辑、重命名、复制/粘贴等。

WPForms: 这个插件提供了一个易于使用的表单构建器,包括联系表单、调查表单、支付表单等,可用于收集用户信息。

UpdraftPlus:这个备份插件可以自动备份你的WordPress网站,以防止数据丢失或网站崩溃。

Wordfence Security :这个安全插件可以保护你的WordPress网站免受恶意攻击,包括防火墙、恶意软件扫描等功能。

PICGO+ Cloudflare R2 存储搭建图床教程

Cloudflare R2存储允许开发人员存储大量非结构化数据,而无需支付与典型云存储服务相关的昂贵出口带宽费用。也算是带宽联盟一员。类似于阿里云国际的OSS免费5G空间,流量收费,但是使用自定义域名套用Cloudflare的cdn就流量免费,Cloudflare自己的R2存储流量不收费,收费的是存储空间和请求次数。A类操作和B类操作分开收费,上传属于A类操作,下载和访问属于B类操作。

免费 付费 - 费率
贮存 10 GB/月 每月 0.015 美元/GB
A 类操作 每月 100 万个请求 4.50 美元/百万请求
B 类操作 每月 1000 万个请求 0.36 美元/百万请求

也就是说,可以免费存储10G的文件,每个月可以上传100万次,访问1000万次,假如用作图床,一般是用不到这个量级的。并且可以绑定自定义域名,套用页面规则以后可以设置浏览器缓存,这样可以减少一些请求次数并且可以防止被人刷请求次数导致一晚上过去,房子就不属于自己了。不自定义域名也是可以的,也就是说你甚至不需要拥有域名就可以拥有一个图床。

存储也是比较便宜的,超出10G以后,1G文件基本上每个月只要1毛人民币。当然和B2那种5刀一个月1T是没法比的,用作图床的话还有种阿里云国际的OSS的40G年付包也是比较有性价比,这里扯远了。下面详细说一下怎么白嫖R2做图床。

本文的图就放在R2上,只不过域名是自定义的。

开通R2

首先当然是拥有一个Cloudflare账号,并且点击右上角的语言设置中文。

第一步当然是开通R2,侧边栏找到R2然后点击开通。这里可以绑定支持外币支付的卡,或者直接绑定paypal,中国区的paypal也是可以的。

a2ca200d6ce03e2da268668f9631b961.webp

第二步是创建存储桶,可以自己选取位置,不建议无脑选亚太地区,亚太地区虽然近但是国际访问速度受限,我这里选择北美西部。

9e605ba44ada44fe9731c1be22e111f8.webp

第三步是创建完存储桶后,点进就到存储桶的设置,然后找到【R2.dev 子域】,将其开启,下图是我已经开启的状态。

15461c0283e105359c9a4d8ae95aeb5c.webp

大家可以认为你的存储同并没有域名绑定,开启这个子域名以后,cf就分配了一个域名给你的存储桶,如果你绑定了自定义域名到存储桶的话,可以把这个开关给关了,可以少一些问题。如果你没有购买域名没法自定义域名,一直用cf给你的这个域名也是可以的。自定义域名的好处是不限速,而且可以享受cloudflare上面的一系列缓存和自定义限速等设置,防止被刷访问次数。

然后,你就可以通过cf网站上传器上传图片到R2了,便可正常访问。

开通API

回到R2的概述界面,点击右上角的 管理 R2 API 令牌, 然后点击右上角的创建api令牌,如果要使用picgo进行图片的上传,请记得在权限选项把对象读和写打开,在ttl选项可以设置api令牌的有效期,这里可以选择永久。大概如下图所示。

cc4034c6e8ace15adee01d9165442251.webp

创建完成令牌以后请把 访问密钥 ID 和 机密访问密钥 收藏好,只会显示这一次,以后用的时候就找不到了,记下来以后还能用到。当然,如果没记住的话,以后再创建一个api令牌也是可以的。

218d27e5f930bebf17a380f5021b0e09.webp

使用picgo进行上传操作

PICGO项目地址:https://github.com/Molunerfinn/PicGo

安装好PicGo后,点击【插件设置】搜索【S3】,安装下图插件。

85f0aea37ee1a55f8fde38bc23799960.webp

安装完成后,点击左侧-侧边栏的图床设置,里面多了一个AMAZON S3这个选项,进去设置。

91f4dd57bfb26146e98f73f168bae02e.webp

应用密钥ID填写我们刚刚复制的访问密钥 ID

应用密钥填写我们刚刚复制的机密访问密钥

桶命就写我们存储桶的名字,这里是duangks

文件路径自己设置,默认也是可以的

地区可以不用填写,默认跳转就可以

自定义节点需要填写一下,在R2中点击存储桶,到存储桶的管理界面,点击设置,里面的S3 api就是需要复制的。例如

e61b61a1f462cebdf0029f9d8774b15c.webp

自定义域名需要注意一下,复制咱们开通的R2.dev 子域,然后在后面加上/你的桶名。

例如,我开通的R2.dev 子域是 https://pu1-082231df54234f2b90d1bd5432310a4b.r2.dev

需要在软件里面填写的自定义域名就是 https://pu1-082231df54234f2b90d1bd5432310a4b.r2.dev/duangks

然后就可以愉快的使用picgo了。

自定义域名

假如你在cf里面托管有域名的话,可以直接在R2存储桶的设置界面设置自定义域名,填写一个二级域名以后不需要自己去设置dns,cf就会自动帮你映射好。

然后就可以顺路把R2.dev 子域给关了。

记得到时候在picgo里面自定义域名也需要加后缀,就像这样 https://你的自定义域名/你的存储桶名

最后,推荐大家使用以下picgo的二开项目PICLIST,直接去github搜就行,相比picgo多了一个自带的图片管理功能,可以对图片进行有损/无损压缩和变换格式,以及添加水印。还多了个管理功能,可以通过设置以后直接管理你上传的文件。

WordPress 网站如何配置 Cloudflare 页面规则?

Cloudflare 使你可以对页面规则进行重新排序,以使某些规则优先于其他规则。由于免费帐户仅可以设定 3 个页面规则,因此我建议大家根据本文提供的教程设置下图中的 #1、#2 页面规则。图中的 #3 规则是个 301 自动重定向规则,其实是可以忽略或者通过宝塔面板的重定向功能代替。

20200905190232489
Cloudflare 允许设置 3 条免费页面规则

# 1 页面规则实例

添加 WordPress 后台链接 www.domain.com/*preview=true*
注意:www.domain.com 为演示域名,请自行替换!

  • 将『浏览器完整性检查』设置为『开』
  • 将『浏览器缓存ТТL』设置为 『30分钟』
  • 将『Always Online』设置为『关』
  • 将『安全级别』设置为『高』
  • 将『缓存级别』设置为『绕过』
  • 将『禁用应用』设置为『应用处于禁用状态』
  • 将『禁用性能』设置为『性能处于禁用状态』
20200905190254600
#1 WordPress 绕过预览 preview=true 缓存规则

# 2 页面规则实例

添加 WordPress 后台链接 www.domain.com/wp-admin*
注意:www.domain.com 为演示域名,请自行替换!

  • 将『浏览器完整性检查』设置为『开』
  • 将『浏览器缓存ТТL』设置为 『30分钟』
  • 将『Always Online』设置为『关』
  • 将『安全级别』设置为『高』
  • 将『缓存级别』设置为『绕过』
  • 将『禁用应用』设置为『应用处于禁用状态』
  • 将『禁用性能』设置为『性能处于禁用状态』
20200905190245985
#2 WordPress 绕过后台 wp-admin 缓存规则

# 3 页面规则实例

这就是一条简单的 301 重定向规则,你可以忽略本条规则。

20200905194054912
@ 根域名 301 重定向到 www 子域名规则

分享两个 CloudFlare 的 WAF 规则

本文转自明月登楼的博客,作为 cloudflare 配置资料方便自己检索。

第一个规则

1693931751-1-1024x620-1

这个规则主要是针对 CC 攻击以及各种恶意爬虫、漏洞扫描的,主要依据是 ASN、CloudFlare 合法爬虫、用户代理(UA)来作为判断标准的。

第一项是 ASN

什么是 ASN(Autonomous System Number 自治系统号)

在互联网中,一个自治系统(AS)是一个有权自主地决定在本系统中应采用何种路由协议的小型单位。这个网络单位可以是一个简单的网络也可以是一个由一个或多个普通的网络管理员来控制的网络群体,它是一个单独的可管理的网络单元(例如一所大学,一个企业或者一个公司个体)。一个自治系统有时也被称为是一个路由选择域(routing domain)。一个自治系统将会分配一个全局的唯一的号码,有时我们把这个号码叫做自治系统号(ASN)。

在互联网中,一个自治系统(英文:Autonomous system, AS)是指在一个(有时是多个)实体管辖下的所有 IP 网络和路由器的全体,它们对互联网执行共同的路由策略。参看 RFC 1930 中更新的定义。比如国内阿里云 ASN:37963、腾讯云 ASN:133478、华为云 ASN:55990 等等,当然还有移动、联通、电信都有他们各自的 ASN 甚至各个地区都有。

被 CC 攻击过的如果仔细观察日志会发现每次实施 CC 攻击的时候用的代理 IP 都不一样,看似很没有规律几乎遍布全球各地,其实借助上述的 ASN 可以非常好的过滤和应对这些 IP,准确率几乎都在 80%以上。

第二项合法机器人爬虫

这个是 CloudFlare 的大数据了,理论上来说合法的爬虫 IP 地址库都是固定的,至少不会经常的变,像谷歌爬虫官方都专门发布过具体的 IP 地址段和 UA,所以 CloudFlare 拥有一个这样的大数据也一点儿都不奇怪了,规则里加上这条主要是为了不拦截合法爬虫的。

第三项用户代理

这里的用户代理就是我们常说的 UserAgent(简称 UA),至于恶意 UA 随便百度一下就一大堆,大家根据自己的需要搜索添加即可,当然也可以复制下面明月分享的表达式粘贴到 CloudFlare 使用:


(ip.geoip.asnum in {37963 45090 55990 45102 12816 12786 18450 197540 24961 26496 46606 54600 60068 22773 18978 7922 61317 6079 397391 46562 22616 26347 45916 22394 202594 40676 398101 396362 6167 54290 135981 21686 7303 138997 22418 140224 46475 20001 43959 41378 29802 10013 9824 4766 209 43260 7565 40676 3786 28438 13287 3786 24641 54548 43754 205544 6461 141995 8047 35916 396253 64096 40021 32097 394380 9286 16509 9370 9318 6921 7713 4788 262186 13489 21353 13213 20473 2914 24940 8100 45102 36352 63949 14061 54994 12876 14618 36351 16276 133478} and not cf.client.bot and http.user_agent contains "grapeshotMJ12botDotBotAhrefsBotSemrushBotUptimebotZoominfoBotBLEXBotExtLinksBotaiHitBotResearchscanDnyzBotspbotMegaIndex.ruMail.RucensysExpansegdnplusALittleproximictoutiaoPulsePointfenqarchive.orgadmantxAppEngineElectronpetalbotnetnewswireCriteobazquxnetsystemsresearchNeevaChrome/6Chrome/5Chrome/4Chrome/7Chrome/8Chrome/9Hello, worldThinkChaosJava/lib?pythonhttp-clientokhttpl9explorel9tcpid")


上述的表达式代码使用很简单,CloudFlare 安全——WAF 里创建 WAF 规则点击“编辑表达式”后粘贴进去保存即可,如下图:

1693931773-2-1024x294-1

CloudFlare 所有的 WAF 规则都可以以这样的方式汇总编辑修改的,可以说是非常科学的。

第二个规则

1693931785-3-1024x726-1

对于国内网站来说借助 DNS 的多线路解析可以很好的拦截境外恶意请求,那么对于境外站点呢?当然也是有办法的,CloudFlare 的规则里可以非常灵活的来解决,就想上面这个规则就仅允许中国、香港、台湾、澳门的 IP 请求,其他地区的一律需要“托管质询”(可以理解为国内 CDN 的验证)。

当然下面还有几个条件,统一解释下来的意思就是请求来源 IP 不是中国、香港、台湾、澳门范围内的 IP 且不是合法爬虫或者IP 威胁分数(CloudFlare 的大数据表现之一)大于等于 30 分又或者用户代理包含了"Mozilla/"以及HTTP 版本不包含 HTTP/2、HTTP/3、SPDY/3.1 的一律要“托管质询”,详细表达式如下:


  • (not ip.geoip.country in {"CN" "HK" "MO" "TW"} and not cf.client.bot) or (cf.threat_score ge 30) or (not http.user_agent contains "Mozilla/") or (not http.request.version in {"HTTP/2" "HTTP/3" "SPDY/3.1"})

国内网站配置 CloudFlare 如何限制国内国内关闭 Rocket Loader?

明月登楼博客的文章,做个备份方便检索资料。

最近碰到几个需要帮助部署 CloudFlare 的客户,有境内站点也有境外站点,期间就发现境内和境外站点接入 CloudFlare 后 Rocket Loader 的效果有很大的差异,特别是在站点访问速度上比较明显,所以今天明月就给大家讲讲使用 CloudFlare 要不要关闭 Rocket Loader 的问题。

a9bb67bc4021424eaab65f1c4d441e6ftplv-k3u1fbpfcp-zoom-in-crop-mark1512000.awebp_

通过 CloudFlare 官方的介绍我们可以知道Rocket Loader 可缩短包含 JavaScript 的页面绘制时间

9d9952b594a640df9a8e9dc7071eca0btplv-k3u1fbpfcp-zoom-in-crop-mark1512000.awebp_

所以理论上开启 Rocket Loader 是有利于页面加载速度的提升的,但因为 CloudFlare 的 IP 节点都是境外的加上 Rocket Loader 会在页面里引用ajax.cloudflare.comcdnjs.cloudflare.com这两个站外 JS 库,这就会造成国内站点在引用这两个 JS 库的时候加大了页面延迟时间,加速的好事儿变成了拖慢速度的坏事儿了,所以CloudFlare 的 Rocket Loader 并不适合国内站点,或者说不适合国内访客。但我们可以更加灵活的来对待这个事儿:

因此,国内站点使用 CloudFlare 的话不建议开启这个Rocket Loader的,关闭即可。如果你的站点有国内外的访问需求,也可以借助 CloudFlare 里【规则】——【Configuration Rules】里配置规则在边缘和服务器进行区别对待:

c2ea1fdc472c402da53637a4a3db82c5tplv-k3u1fbpfcp-zoom-in-crop-mark1512000.awebp_

38d38782fc624a62aceee72e2412c9e2tplv-k3u1fbpfcp-zoom-in-crop-mark1512000.awebp_

原理很简单,就是在【Configuration Rules】里创建两个规则根据“国家地区”判断国内访客一律禁用Rocket Loader ,国外访客开启Rocket Loader

发现 CloudFlare 的规则设置真的是太灵活、太强大了,就看你如何活学活用了,完全可以根据自身站点的需要灵活的定制一套专属的 CloudFlare 配置。

CloudFlare Web 应用防火墙规则,一键阻挡恶意访问。

CloudFlare Web应用防火墙是一种智能、集成且可扩展的解决方案,可保护您的关键业务 Web 应用程序免受恶意攻击,并且无需更改现有基础架构。

创建

登陆 https://dash.cloudflare.com/ 后,选防火墙——防火墙规则——创建防火墙规则;如果你的域名还没接入CloudFlare Cdn,请按官方提示接入后再操作。

v2-839ece1246a604920704dc96ab7fb1fe_1440w.webp

规则

我们可以使用编辑表达式的方式导入规则,也可以按图手动设置规则;

首先设置一条通过规则,让合法机器人爬虫通过(除非你不想搜索引擎收录你的网站,则可以不设);

通过规则表达式

(cf.client.bot)

设置为允许

v2-839ece1246a604920704dc96ab7fb1fe_1440w.webp

然后设置人机验证规则,例如我们网站的用户是国内较多,那么可以设置:
国家/地区不是中国大陆、香港、台湾、澳门,且不是合法机器人爬虫,且威胁分数大于或等于5,且浏览器UA不含Mozilla/,且http版本较低的访问;进行人机质询,便可以阻挡大部分恶意爬虫。

人机验证规则表达式

(not ip.geoip.country in {"CN" "HK" "TW" "MO"} and not cf.client.bot) or (cf.threat_score ge 5) or (not http.user_agent contains "Mozilla/") or (not http.request.version in {"HTTP/2" "HTTP/3" "SPDY/3.1"})

设置为Js质询或者质询都可以;然后到 防火墙——自动程序——自动程序攻击模式——开 打开CloudFlare的自动阻止规则
v2-839ece1246a604920704dc96ab7fb1fe_1440w.webp

如果还想进一步阻挡非浏览器的访问,可以在 SSl/TLS——边缘证书——最低 TLS 版本——TLS 1.3 提高TLS版本进行阻挡非浏览器以及低版本的浏览器的访问。

更多规则

手机QQ

(http.user_agent contains "QQBrowser" and http.user_agent contains "QQTheme")

微信

(http.user_agent contains "Wechat") or (http.user_agent contains "WeChat")

其它

可以给某个路径,例如:登陆路径Js质询、非大陆地区找回密码质询等等,按需求灵活配置。

cloudflare pro 专业版如何设置防御CC攻击?

cloudflare 默认自带 5 条防火墙规则,完全免费。pro 版本可以使用,只需要 50 元一年,还需要做一些规则来进行防护 CC 你的站点最好是 CF pro 套餐,并且开启 HTTPS 我先大致分享一下我的规则。 阻止规则:

R9R76X83SPQIYOEHVD\

Tor 是洋葱路由,可以屏蔽。威胁分数大于等于 5 进行阻止。威胁分数正常访客压根不会触发,不要害怕误封。 验证码规则:

X98C_SI3PNW1R5W41R6S47

第一段的意思是禁止 https 的访问有 http1 的 HTTP 版本,因为正常访客访问 https 都是 HTTP2,只有代理 CC 会是 HTTP1,前提是你网站开启了 https,不开启 https 这个规则没作用。 用户代理这个我就不说了,防止一些奇奇怪怪的 ua。 威胁分数大于 1 的话自动弹出验证码,正常浏览器,干净的 IP 不会触发。 最后一个是防止伪造 ip 的。 除了设置规则,你还需要设置一些其他的东西。 比如 HTTP DDOS,全部拉满:

X98C_SI3PNW1R5W41R6S47

自动程序,只开启 js 检测(其他功能需要企业版):

5417OOF4DO9XMFI4FW2X

还有托管规则,可以点进去看看,都是比较有用的策略。 缓存配置 缓存级别设置为 忽略查询字符 页面规则 可以参考一下我的:

DM9G9XY1KZZM2CD13B

最后一个就是配置强制 HTTPS(Cloudflare 上的强制跳转,不需要回源) 首先,在页面规则-->转换规则,创建重写 URL:

TK84YM6S1FNWS9KHK_3T

转换规则创建好了之后,再到页面规则上设置跳转:

QVNG9ITTPX1NJ3ESYE7

注意,这个页面规则的优先级必须在第一。 理论上以上规则设置后,可以很好的防御代理 CC。遇到肉鸡 CC 只能开启请求速率限制了。

Cloudflare Page Rules 规则如何设置?

cloudflare作为全球最大的免费CDN加速,跟国内的优点就是不需要备案即可使用,而我们的Cloudflare默认只缓存图片之类的静态文件,很多网站使用Cloudflare加速效果不理想就是因为不会配置Cloudflare的Page Rules 页面规则,只要我们把Page Rules 配置好了,那么我们网站加速效果很牛,因为我们基于wordpress搭建的网站,这几天一直在调试Cloudflare的自定义页面规则缓存Page Rules,发现确实把 Page Rules 规则配置好了,网站访问速度飞快。

Cloudflare自定义规则的说明:

提示说明: 规则自定义指对“指定URL”进行页面级规则定制(支持通配符*)。可对任意子域名、目录、甚至单个URL进行针对性的加速缓存、安全防护等配置。列表中上下关系决定优先级,靠上规则优先级高。站长可以通过点击“↑”调整优先级。新增规则优先级最低,将于30s内生效。

URL指定支持通配符* 例如

1) 对xxx.com进行特定设置,需增加URL: https://xxx.com/wp-content/uploads/* 对网站 yuntue.com/wp-content/uploads/ 的所有内容缓存生效;

2) 对xxx.com所有html页面进行特定设置,需增加URL: xxx.com/*.html 对网站 xxx.com的html 内容缓存生效;

3) 对xxx.com所有html页面进行全部缓存,需增加URL: xxx.com/* 对网站 xxx.com 的所有内容缓存生效;

4)对xxx.com所有评论页面禁止缓存直接回源,需增加URL:xxx.com/*/comment-page-* 对网站评论内容缓存不生效;

以下是设置的wordpress Page Rules 页面规则:

https://xxx.com/*/comment-page-* Cache Level: Bypass 评论不缓存直接回源

https://xxx.com/wp-admin/* Cache Level:Bypass 后台管理页面不缓存直接回源

https://xxx.com/* Always Online: On, Cache Level: Cache Everything, Edge Cache TTL: 2 hours 全站所有内容缓存2小时

Cloudflare免费套餐只能设置3条规则,我们就只能设置后台和评论分页不缓存,其他一律缓存。其中还有个最关键的地方,Edge Cache TTL这个选项必须要设置一下,否则依然不会缓存的哦。Edge Cache TTL 缓存时间你可以设置30天或1天,最短为2个小时,如果网站没有什么更新,或者不需要用户登录的直接可以设置30天,这样可以减少服务器压力,加速用户的访问体验。

WordPress页面规则配置:

wp-admin 部分为管理后台,不加入缓存;

wp-login 部分为后台登陆页面,不加入缓存;

*/comment-page-* 用户评论,不加入缓存;

其余部分全部缓存;

以上的规则发现,这样我们需要4条规则,而免费的Cloudflare只能开启 Page Rules 3条规则,那么我们可以把wp-login 修改合并成一条规则;

可以安装插件 Rename wp-login.php ,修改登录页面 wp-login 网址为 wp-adminxxx,其中 xxx 为我们自定义的一串字符,比如 wp-adminabc 。

这样就可以通过 wp-admin* 来同时匹配前两条,将规则变为 3 条。

通过配置针对于 WordPress的页面规则,我们将全站进行缓存,设置网站永久在线等,并排除了管理后台、登录页面和文章文章评论页面的缓存,以便我们能够实时看到用户评论和正常登陆管理网站。

Cloudflare免费套餐如何设置DDOS防护?

Cloudflare 选择免费套餐,然后添加记录,填写子域名并修改DNS(DNS在域名注册地修改),开始简单配置防护策略

开启Cloudflare的防护配置:

点击 安全性 开启DDOS和自动程序 ,两个都开启

3796b3d9d4133326-1024x473-1
a30869c554133326-1024x508-1

配置一下屏蔽海外,针对对一些全国代理的CC,如果你的网站是开放全国的话就不用开启

d2b5ca33bd133401-1024x513-1

速率限制规则也需要开启,主要实现的是同个IP【10秒内请求数>n】时对其返回429阻止访问。如图填写/可对zone下所有域名进行保护,个人博客正常情况下n建议设置为50,资源更多的站点可以考虑适当放大(以不影响正常访问为准)

d2b5ca33bd133514-1024x598-1

最后在开始配置防火墙规则之前,请先前往【防火墙】-【设置】下,将【Privacy Pass支持】关闭,以避免一种绕过质询的可能(尽管如此,免费版的hCaptcha依然存在可绕过的方式,所以在较严重的情况下应适当选择阻止部分访问)。

d2b5ca33bd133542-1024x252-1

这篇博客对于CF WAF的配置分享到此告一段落了,但是对这些规则的应用仍有正则表达式等更高级的应用方式去探索,结合实际,准确地发掘并圈定恶意攻击特征,积极利用好这些已有的资源,最大限度减小对正常用户访问的影响是有必要的。

宝塔面板+oci 命令行实现Oracle甲骨文ARM VPS自动抢购脚本教程

通过脚本抢购Oracle甲骨文ARM VPS,日本和韩国因为涌入的“羊毛”太多,线路不堪重负。特别是韩国区,线路boom已经是常态了。

前面的脚本设置稍微复杂,速度不是太快,本篇文章继续分享一个其他的刷机脚本,教程利用宝塔面板:宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=,并结合oci命令行来实现Oracle甲骨文ARM VPS自动抢购,供大家参考!

生成main.tf

1)新建实例,创建的时候我们选择ubuntu20即可。注意,引导卷这里选择下硬盘大小,推荐100G,具体看图:

2)另存为堆栈,生产main.tf,具体看图:

这里默认即可

配置变量,也是默认,复查,默认即可。

点击创建,默认会自动运行一次,我们点击下载 Terraform 配置,会得到一个压缩包,解压后,会有main.tf,用记事本打开,会有你需要的任何信息。当然这个文件也是我们前文需要初始化的东东,总而言之,这个文件就是这么来的。

安装oci命令行管理工具

1)安装命令如下:

bash -c "$(curl –L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"

2)没啥好说的,一路回车就好了,结束使用下面命令查看安装是否成功

oci -v

参考前文《Oracle甲骨文免费ARM架构VPS(VM.Standard.A1.Flex)自动抢购脚本代码分享》

配置cli

参考前文《Oracle甲骨文免费ARM架构VPS(VM.Standard.A1.Flex)自动抢购脚本代码分享》

用oci申请开通ARM

1)运行命令的脚本如下:注意arm和普通的免费机器不太一样,因为你需要添加shape_config 配置。

文章加密,密码获取,可加tg获取。进群后输入:甲骨文oci刷arm    即可获得密码!!!

tg订阅:https://t.me/rssbig

tg群:https://t.me/joinchat/SKct5jFnL_PUvCFr

进文章https://www.daniao.org/14121.html输入密码查看隐藏内容。

注意,这些信息,我们在第一步生成的main.tf中全部可以找到,不用你按下F12来辛苦查找了。

2)先试运行一次脚本,以上的修改好后,全部复制回车运行,显示如下提示表示配置正确。

3)先将一长串的oci命令写到/root/oracle.sh中,如果是用的宝塔那么直接在目录下面新建一个oracle.sh,然后复制那一串代码粘贴保存即可。

4)宝塔计划任务设置执行,这里默认是2分钟一次

脚本内容:bash /root/oracle.sh

5)执行效果,看图:

这样就可以了,返回都是正常的,如果补货,你应该是可以抢到的。

6)如果是非宝塔用户,可以这样写入命令。

crontab -e*/2 * * * *  /bin/bash /root/oracle.sh  >> /root/oracle.log   2>&1

要实时显示刷机器的信息,可以使用下面命令查看!!

tail -F /root/oracle.log

这个方法可能稍微简单点,或者高效一点,不过我们自动生成的main.tf,结合前文的方法,用Terraform+oci来刷机也是不错的选择。

Dupay 虚拟信用卡预付卡可以支付阿里云国际站账单

Dupay 预付卡是否可以支付阿里云国际站,今天我尝试着用 Dupay 虚拟信用卡来支付阿里云国际站,看可不可以成功?Dupay 原来叫做 Depay,提供 VISA 和 MASTERCARD 预付卡,最近看到还上线了 VISA 借记卡,不过 VISA 借记卡需要支付 5U 进行 KYC 认证,可以长期使用。预付卡都提供免 KYC 认证的套餐,贵10U,不过要是担心个资问题,个人推荐30U的免 KYC。

登陆阿里云国际站后,支付选项中提示不支持预付卡、虚拟卡和礼品卡;不过添加后,发现竟然可以添加上,并且还可以进行支付。

除了阿里云国际站,支付宝现在也放开了国际信用卡的绑定,Dupay 绑定也完全没问题,在淘宝消费或者支持支付宝的应用使用免手续费,但是如果你要是扫二维码付钱或者想要通过二维码来出金,要收取5%的手续费。

建议使用 Dupay 类似的虚拟信用卡,里面不要充值大额USDT,避免跑路,这类虚拟信用卡还有跑路风险的。

cloudflare 免费版如何防 CC 攻击?

确定您的网站被CF保护,也就是说DNS→是打开了代理,A/AAAA解析是橙色。(如果您之前IP漏了,那么就需要换IP)

保护之前请关闭所有您之前设置的WAF→防火墙规则/速率限制规则/托管规则/工具,以及包含安全性的页面规则!因为在这之前您可能按照网上的教程进行设置过,可能会影响到下面的规则优先级(如果您之前没有可以忽略这条)

首先进入受CF保护的网站,找到安全性:

第一步(意义:这里主要的功能就是拦截那些IP黑名单,几乎没有误报):

CF→安全性→设置→安全级别设置为:高 (这里不要打开打开I'm Under Attack!我受到攻击,因为这样就是任何请求会做人机验证,等待5秒钟:会掉收录,API无法通讯,需要写防火墙规则排除。)
质询通过期设置成:15分钟或者30分钟 ,严重可以设置5分钟(这里慎重设置,不要太低,不要太高!)
浏览器完整性检查:打开

第二步(意义:根据CF的机器学习识别到DDOS攻击,误报很低。):

CF→安全性→DDOS→HTTP DDoS 攻击防护,点右边的配置进入

规则集操作(必填)设置为:托管质询或者直接阻止(建议你在受到攻击的时候直接阻止)
规则集敏感度(必填)设置为:高

第三步(意义:这里就需要考虑到你的网站有没有与用户的客户端或者其他服务器进行API通信,存在一定误报率。一般使用的程序越老旧就越容易触发误报。):

CF→安全性→自动程序:打开自动程序攻击模式

第四步(意义:最后的防线,一般而言就漏掉的攻击):

CF→安全性→WAF→速率限制规则,创建一条速率限制规则 ,规则如下:
规则名称 (必需):自己填个

如果传入请求匹配…
字段 URL路径
运算符 选择“包含”
值 自己输入英文的:/

速率限制匹配运算符包含输入英文 / 是关键,也代表网站所有目录都匹配

则...
选择操作: 阻止
响应类型为 : 默认 Cloudflare 速率限制响应 (响应类型为 :默认 Cloudflare 速率限制响应,这会告诉访问被阻止,跳转到CF速度限制阻止页面。如果您想告诉您的网站访客发生了什么可以自定义HTML,利用UTF-8编码自己写个中文页面。)

对于…
持续时间 (必需) 10秒
当速率超过…
请求 (必需)35
期间 (必需)10秒钟

请求:35 可以设置为25,但会影响正常用户,最好不要低于20。如果太低了,用户正常访问都会被阻止。 如果您的网站是一个博客,我建议这里设置成50以上。如果你的网站类型有文字、有图片、有视频,这里不要低。如果你是CF付费版,建议用托管质询,而不是直接阻止。

第五步(有些攻击会通过TOR节点绕开CF质询,这里建议关掉): 在CF网络→网络→洋葱路由关掉

最后等cf规则生效,大概30秒,一定要重启一下服务器,让服务器断开所有的程序连接

不要依赖在服务器上设置系统防火墙,因为瞬间的CC攻击流量一开始就会占用大量CPU资源,像宝塔这种防火墙,就算有用,前期的识别匹配规则也需要消耗一定资源和时间。之后哪怕防火墙拦截了,但实际上DDOS L4攻击一直存在,如果攻击足够多,类型足够复杂,服务器上的系统防火墙也只不过拦截了DDOS L7攻击,但DDOS L4攻击把你宽带占满了,一样会挂。

CloudFlare Business如何设置防护 CC 攻击

CloudFlare Business 套餐可以帮助网站抵御 CC 攻击,需要进行一些配置。操作包括设置自动程序、托管规则、防火墙规则、验证码规则等,还需要进行 SSL 证书和源站配置。可以使用屏蔽地区和速率限制等功能进行进一步保护。自定义回源可以防止扫源程序攻击。

需要Cloudflare 企业版套餐。

你的站点必须使用 HTTPS

开始(在 CloudFlare 上操作).

自动程序

首先,需要登录 Cloudflare 控制面板,选择域名–> 防火墙–> 自动程序,点击 配置超级自动程序攻击模式
如图所示,可以按照我的图片进行设置

image-18

托管规则

然后打开选择 防火墙–> 托管规则,把选项全部勾上,敏感度高,操作为质询。

网站以及 SSL 证书配置

大致分享一下我的规则。

建议您的站点设置 SSL 证书并开启 http2 协议:

image-17

并且开启强制 https,也可以限制 最低 TLS 版本为 1.1(目前浏览器最低都是 1.2) 参考图片:

image-20

页面规则

可以参考一下我的

image-21

防火墙规则

阻止规则:

R9R76X83SPQIYOEHVD-1

Tor 是洋葱路由,可以屏蔽。威胁分数大于等于 5 进行阻止。威胁分数正常访客压根不会触发,不要害怕误封。

验证码规则:

X98C_SI3PNW1R5W41R6S47-1

第一段的意思是禁止 https 的访问有 http1 的 HTTP 版本,因为正常访客访问 https 都是 HTTP2,只有代理 CC 会是 HTTP1,前提是你网站开启了 https,不开启 https 这个规则没作用。

用户代理这个我就不说了,防止一些奇奇怪怪的 ua。

威胁分数大于 1 的话自动弹出验证码,正常浏览器,干净的 IP 不会触发。

最后一个是防止伪造 ip 的。

除了设置规则,你还需要设置一些其他的东西。

比如 HTTP DDOS, 全部拉满:

KFKTUPN14CE_0H

到这里,在 Cloudflare 上设置的规则已经完成了。接下来是设置源站的

Nginx 配置

我们可以设置一个单独的 UA 回源,并且只允许那个 ua 回源。

先在 Cloudflare 上操作:

image-22

创建一个 HTTP 请求头修改,内容为 User-Agent:XXX (XXX 可以替换成其他):

image-23

比如我的是 moeyydad,你可以替换成别的,别人猜不到就行。

然后我们在 nginx 配置文件内添加一个 if

CODE
1
2
3
if ($http_user_agent != "moeyydad"){
      return 444;
}

这段代码加在 root 的下面

image-24

证书防护

可以防止源站证书被扫到。如果源站使用 ssl 回源,我们需要上传证书,但是我们不能使用自己的证书,可以使用自签证书。比如:

证书

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-----BEGIN CERTIFICATE-----
MIIDITCCAsagAwIBAgIUTcEWLzynkLCFCoAC1iDH2vG3EkYwCgYIKoZIzj0EAwIw
gY8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBDbG91ZEZsYXJlLCBJbmMuMTgwNgYDVQQL
Ey9DbG91ZEZsYXJlIE9yaWdpbiBTU0wgRUNDIENlcnRpZmljYXRlIEF1dGhvcml0
eTAeFw0xOTAxMTMxNDMxMDBaFw0zNDAxMDkxNDMxMDBaMGIxGTAXBgNVBAoTEENs
b3VkRmxhcmUsIEluYy4xHTAbBgNVBAsTFENsb3VkRmxhcmUgT3JpZ2luIENBMSYw
JAYDVQQDEx1DbG91ZEZsYXJlIE9yaWdpbiBDZXJ0aWZpY2F0ZTBZMBMGByqGSM49
AgEGCCqGSM49AwEHA0IABAg/hZ9lDHj/f+0jDRAN23TkNEqIi46mCGnwZVD3glxL
l+a1mpfXLHSEFTipnSyQgmvkPYzQGaEIFD0q6W/ZgMujggEqMIIBJjAOBgNVHQ8B
Af8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMAwGA1UdEwEB
/wQCMAAwHQYDVR0OBBYEFCEZF6Eyem01XPbgwr6DXLZV1qsQMB8GA1UdIwQYMBaA
FIUwXTsqcNTt1ZJnB/3rObQaDjinMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcw
AYYoaHR0cDovL29jc3AuY2xvdWRmbGFyZS5jb20vb3JpZ2luX2VjY19jYTAjBgNV
HREEHDAaggwqLmRuc3BvZC5jb22CCmRuc3BvZC5jb20wPAYDVR0fBDUwMzAxoC+g
LYYraHR0cDovL2NybC5jbG91ZGZsYXJlLmNvbS9vcmlnaW5fZWNjX2NhLmNybDAK
BggqhkjOPQQDAgNJADBGAiEAnrequCk/QZOOrcPH6C3Hgcy4SPNUy5rQtku/aYkj
qQoCIQCN6IyYNiXuwG+8jUgJrveiirBjiz2jXZSTEfVAyibjTg==
-----END CERTIFICATE-----

密钥

CODE
1
2
3
4
5
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgK0HE3hTJQDg6p/fj
nS92eSuRKZEZ5F4grT6tWFKNYVmhRANCAAQIP4WfZQx4/3/tIw0QDdt05DRKiIuO
pghp8GVQ94JcS5fmtZqX1yx0hBU4qZ0skIJr5D2M0BmhCBQ9Kulv2YDL
-----END PRIVATE KEY-----

如何测试你的源 ip 不会被泄露呢?

你可以先在 hosts 文件把添加你的源 ip 和域名,然后打开浏览器访问,如果无法访问就是成功的,因为受到 ua 限制。

其次,检查证书确保不是你域名的证书。还要检查默认证书,https://ip/ 进行访问,看看证书是不是你域名的,如果不是则大功告成。

其他配置

屏蔽地区

如果你的访客只是中国地区的,你可以设置只允许中国访问:

image-25

使用速率限制

image-28

可以根据你网站的 api 或者其他进行速率限制。

自定义 Host 回源

image-29

这个跟自定义 UA 回源类似,目前一些扫源程序的原理是带一个 host 头访问全球的 ip 进行测试和验证。

比如我设置一个回源域名为 moeyydad.xyz 回源,然后把源站域名 moeyy.cn 替换为 moeyydad.xyz,这样就不会找到我们的源站。配合自定义 UA 回源,源站配置 CF 的自签 SSL 证书,自定义 Host 回源,攻击者则无法找到我们的源站。

CF 的自签 SSL 证书 在这里生成:

image-30

做完以上操作,你的网站已经是无敌的了。

Cloudflare 页面缓存(Page Rules)优化WordPress全站缓存配置规则教程

为什么要设置 Cloudflare 的页面规则 (Page Rules)进行全站缓存?

当你接入Cloudflare的CDN,并点亮小云朵之后。你的网站就已经通过Cloudflare的CDN节点进行中转了。默认情况下,Cloudflare 会对你网站中的图片、JS、CSS文件等静态文件进行缓存。

当访客访问你网站页面的时候,所有的静态文件都是由Cloudflare的节点直接给到访客的,但是HTML文件是默认不缓存的。也就意味着访客访问你的某一页面的时候。仍然会回源你的服务器

所以,本篇文章就是教你如何使用Cloudflarae的页面规则(Page Rules)把整个HTML页面给缓存。 使访客访问被缓存的页面的时候,直接交由Cloudflare进行服务,甚至你的源服务器不会收到任何GET请求。

这样做的好处是,可以大大减少源服务器的负载开支,使得你的站点能够承载更多的访客及流量。

下面两张演示图片就是使用了Cloudflare页面规则之后,节省的源站服务器的请求及流量。

itwnus8g6h.webp
go33l6esqf.webp

如何通过浏览器判断某个页面是否被Cloudflare的CDN进行缓存?

在学会如何判断之前,我们要先熟悉一个CDN中常见的术语:“HIT”,中文叫做“命中”。我们先看下面这样演示的图片:

6qp7i4mj0a.webp

可见,图中对过往24小时之内的所有请求有一个统计,统计分为:命中、未命中、动态、绕过……等等状态。

  • 【命中】状态就表示已经整网页完全被Cloudflare的CDN提供了服务;
  • 【绕过】状态则表示直接绕过Cloudflare的CDN由源站进行服务;
  • 【动态】状态则表示部分资源被Cloudflare的CDN缓存并服务,但混合了一些源站的请求;
  • 【未命中】因为命中与否是一个概率问题。Cloudflare 也并不能保证在缓存规则中的所有资源都完整的命中。

注:如果你开启了小云朵,但并未配置页面规则。那么你的绝大多数状态都是【动态】,因为访客访问页面中的静态资源交由Cloudflare进行提供,还是有一些请求是通过源站来服务的。

接下来,我们以Chrome为示范。教大家判断一个网页在开启Cloudflare CDN之后的缓存状态到底是【命中】亦或是【动态】

打开接入Cloudflare的网站页面,这里以陌涛小站首页示范。 “F12” 进入“开发者工具”,点击“Network”选项卡。 “Control + F5” 刷新该页面(苹果系统请使用 Command + R),并在“Name”栏中选择“网址”。

96w4qjdp1d.webp

从上图中可以看到 cf-cache-status 的值为 “HIT”,则说明该页面已经完全缓存。

其他状态解释如下:

cf-cache-status:DYNAMIC (动态) 如果是“DYNAMIC”则说明,该站可能只开启了小云朵,并没有配置整站完全缓存。 cf-cache-status:BYPASS (绕过) 如果是“BYPASS”则说明,该站针对这个页面设置了绕过,不允许缓存。

Cloudflare的缓存机制

假设你的站点有 www.renao.org/1.html 和 www.renao.org/2.html 两个页面。

当访客A 访问1.html这个页面的时候,首先会经由Cloudflare,这个时候你的页面规则就起作用了。 Cloudflare会发现,吼吼,这个站有个1.html 我给它缓存下来,并且转发给A。

当访客B 在Edge Cache过期时间之前,重复访问1.html的时候。 Cloudflare会思考一下。哈哈哈,这个1.html我有。不用麻烦源站了。我直接给到B就可以了。

这就是所谓的命中率,如果这个页面被完全命中,那么B访问1.html虽然得到了网页,但是是由Cloudflare直接提供的。你的源站甚至连客户的IP都统计不到。

但是,2.html 这个页面在你的规则建立开始时从未有任何访客访问过。那么Cloudflare也不知道这个页面的存在,也不会缓存。除非等到真的有人访问过,Cloudflare才会发现,并对其进行缓存。

好了,冗长的理论知识讲完了,我们来进行实战。 这里以Wordpress源站举例,来详细讲解如何设置页面规则才能够进行全站缓存。

一、Cloudflare 页面规则 免费版3条规则配置

由于Cloudflare免费版只提供了三条免费的规则,所以我们的想法有很多,但是真正实现起来肯定要有所取舍。下面提供了三种陌涛小站测试过的方法。根据你网站的具体情况选择即可。

在所有的规则配置中,“*”代表通配符,另外,规则注意上下排序。默认从第一条规则顺延到第二条规则,然后才是第三条规则。具体请参照以下【三种方法】的详细配置说明。

方法一、常规无人值守方法(网上流传配置方法)

  • *.imotao.xyz/wp-login*
  • *.imotao.xyz/wp-admin*
  • *.imotao.xyz/*
0u1j7zvc10.webp

第一条和第二条: 研究Wordpress后台目录,我们发现:wp-login 和 wp-admin 两个页面或目录分别是Wordpress后台的登陆页面和后台管理目录。为了让Cloudflare不缓存这些内容。我们在第一条和第二条中。建立的规则是Bypass,也就是绕过。

第三条: 此条规则很简单,也很容易理解。就是告诉Cloudflare 进行全局缓存。无论是图片、html、js、css、等等统统给我缓存。当然,按照上面提到的排序规则。Cloudflare会过滤掉以上我们不想要缓存的第一条、第二条。

方法二、常规无人值守方法

  • *.imotao.xyz/*preview=true*
  • *.imotao.xyz/*.php*
  • *.imotao.xyz/*
o5gnhmohe1.webp

第一条: 由于Wordpress 提供了预览页面,我们研究Wordpress 的预览页面URL可以发现一个特征,预览页面的URL都含有“preview=ture”这个字段,所以通过第一条规则,可以限制Cloudflare 缓存我们的预览页面。如果没有此条规则,Cloudflare会缓存我们预览的页面。但实际缓存了预览页面对网站本身的影响并不大。

第二条: 这条规则可以说是十分重要了。如果不设置此条规则,那么我们的后台页面、甚至包括登陆页面也都会被Cloudflare给缓存进去。曾经有小伙伴的wp-login页面(Wordpress默认登陆页面)连带着登陆账号密码统统被缓存了。访客直接可以通过缓存的账号密码进入Wordpress的后台,你说恐怖不恐怖? 此条规则是我们为了防止Cloudflare缓存我们的动态页面(登陆页、后台页)。这条简单粗暴的直接将所有带有“.php”的页面请求全部Bypass 也就是不缓存。

第三条: 同【方法一】的第三条

方法三、常规无人值守(并为针对“搜索功能的CC攻击”单独开启5秒盾)

  • *.imotao.xyz/?s=*
  • *.imotao.xyz/*.php*
  • *.imotao.xyz/*
axhglku0n5.webp

第一条: 将所有在Wordpress站内搜索的用户开启5秒盾。一般针对Wordpress的CC攻击都是通过随机UA、随机搜索内容来创建数千、数万的URL。并通过大量的代理IP来模拟真实用户访问。毕竟搜索在Wordpress这个系统中是需要调用数据库,很消耗服务器资源的。 如果攻击者不清楚你的Page Rules 的配置规则,通过站内搜索对你的站点进行CC攻击的时候,此规则就能够很好的帮助你缓解攻击。除非他技术高超可以穿5秒盾。

第二条: 同【方法二】的第二条

第三条: 同【方法二】的第三条

使用此种方法,将会舍弃上面方法二提到的【文章预览】功能不缓存,影响并不大。

特别注意

如果你留意到了上面提到的缓存机制的时候,一定要注意一件事情。就是若作为管理着的你登陆在Cloudflare的后台。有些主题在登陆状态下浏览文章是有“登陆条”的。所以尴尬的事情会发生。就是Cloudflare会无差别的把你的登陆条给缓存上去。真正的访客登陆到页面的时候,能看到你的用户名、留言数、等等关键信息。 所以,你需要在Wordpress的设置中关掉显示登陆条的功能。

二、Cloudflare Pro 页面规则 20或30条规则配置

如果你有Cloudflare Pro的付费版本,那么恭喜你可以配置20条页面规则。

这里贴出一个配置的示范。

1hpp5wyziu.webp

这里的第6条,设置之后,所有的动态页面(php)的请求全部301重定向到了陌涛小站的首页。也就意味着我自己也不能登陆后台进行编辑了。当我需要写文章的时候,将此条规则临时关闭,并清楚本地浏览器缓存就可以了。

三、其他Cloudflare 常见功能

清除缓存:当我们的页面已经被完全缓存之后,更新页面需要单独删除此链接的缓存,以便Cloudflare重新从源站抓取。

I’m In Attack:开启5秒盾模式

调试模式:开启之后默认绕过所有缓存,以便我们进行调试。