其实cloudflare还是非常智能的,但有时候为了安全起见,我们在网站后台修改参数的时候会被CF拦截,我就遇到了好几次提示Sorry, you have been blocked的情况。
遇到这种情况后,我首先找了官方的说明文档,但操作了半天好像还是不行。
最终,折腾了N久之后,终于解决了。
由于每次操作可能触发的CF的防御机智不一样,所以在解决问题之前一定一定要先查看拦截日志:
1.打开CF后台,点击进入你自己的网站操作界面,点击“防火墙”:
2.进来之后,默认显示的是“概述”,放下面翻就能看到拦截记录
3.根据你操作的时间,点开拦截记录,上面会告诉你拦截的详细内容👇
4.找到规则ID,复制ID后面的最几位数字,等会儿用得到。
PS:在日志里要仔细查看“规则集名称”一栏,看看触发的是CF的哪一个规则,因为***CF的规则有三个***👇
5.知道是CF的哪个拦截规则后(比如我上面的拦截方式属于cloudflare托管规则集),点击左侧WAF,进入设置。
6.找到cloudflare托管规则集,点击右侧的“编辑”,进来后有一个“浏览规则”,点击进入。
7.进入之后在搜索栏直接搜索刚才复制的ID,就会看到这个规则被被阻止了。
8.点击左侧的勾选框选中这个规则ID,然后把“阻止”改为“记录”,然后点下一步。
9.你就会发现你设置的操作被CF添加到了白名单中。
10.最后再点击“保存”即可。
此外,还有最重要的一点,在做完这些设置之后,一定要后台首页“清除缓存”那里清除缓存。
因为我是后台无法修改代码,所以个人选择的是自定义清除,直接输入后台操作的URL地址就可以了。
上面说到了,CF有三个拦截规则,有时候遇到的问题是属于“OWASP”里面的
这时候就需要去在“WAF”一栏找到OWASP才行。
但奇怪的是,在OWASP里面搜索的时候找不到报错日志里面的ID集,所以我这里只好回到OWASP里面,把“异常分数阈值”从高改成中了。
当然,我这么操作是因为在错误日志里面看到了OWASP的的分是30,改成中之后,得分40以下的操作应该都是被允许的。
由于找不到相关的教程啥的,所以只能这么做了。
如果有小伙伴知道怎么解决这个问题,欢迎留言。