没有备案的域名,访问量增加或者遭到某个用户的投诉后,微信和QQ内置浏览器会触发风控机制,将对应域名拉入分类黑名单。这时我们再从微信打开网站变会弹出封面所示的红色警告,被拦截且无法完成内置浏览器访问,及其影响用户体验,甚至导致大量信任用户的流失。
为什么要防红?
众所周知,腾讯的客服几乎等于没有。对于普通站长来说,如果你的域名不幸被腾讯拦截,那么你的解封概率是微乎其微的,备案了都没人理你,倦意曾经申请了7,8遍都无果。
为什么会被红?
据我观察,当用户通过QQ和微信自带的浏览器访问你的网站,你的网站内容会被腾讯缓存下载,因为资源被腾讯下载了,所以万一有不符合规定的内容,直接就给你禁止访问了,所以为了防止这种情况发生,我们需要防红。
怎么去防红?
根据用户的UA头,分析是否通过腾讯自带的浏览器访问,如果是,则引导切换其他的浏览器,这样大大减少了被腾讯风控的概率!
效果图:各个版本的防红措施对比:
版本 | 优势 | 不足 |
---|---|---|
JS版本 | 部署是最简单的 | 存在缓存问题,更新防红内容后, 需要强制刷新js缓存才会显示出来 部署不太方便,几乎每个界面都要引用一次js脚本 而且有些js的引用是不在头部的, 所以当你访问一个网站,他会先把网站完整的加载出来,再来执行你的防红js, 而腾讯的robots如果要读取你的网站信息, 在防红js加载之前就已经读取了,导致js防红基本上就是心里安慰。 目前网上大部分都是js防红。 |
php版本 | php相比js更好, 因为一般来说php的防红措施发现你是腾讯访问, 直接就抛出了一个exit, 而exit后面的内容则不会执行, 所以不用担心暴露给腾讯的robots网站信息 |
需要多个地方部署,假如你的网站有WordPress,ZFile, 图床等等若干项目 ,你需要在每个项目的index.php里面都要重复部署 一遍防红脚本, 这对于我拥有十几个项目的人来说,也是很麻烦的。 |
nginx版本 | 首先nginx位于底层, 如果nginx在底层就识别出来你是腾讯访问, 直接抛出了return了, 不会暴露其他信息。其次部署较为方便, 一个域名只需要部署一遍即可, 同域名下的所有项目都可以使用防红, 大大减少了重复部署的时间! 不用担心缓存 |
几乎没有 |
部署:
如果你有CDN,一定要关闭缓存,一定要关闭缓存,一定要关闭缓存!
因为是更改Nginx配置,请提前做好备份。
将脚本下载你的服务器内,并且复制脚本地址
抱歉,由于一些原因,目前暂停下载
在nginx配置里面写入以下代码:
# 引用AntiQQ
include /www/wwwroot/AntiQQ.conf;
重启Nginx或Nginx配置即可启动
注意:
- ;不要漏了
- 一定要放在
其他的location附近
,否则会出问题!如下图所示!