网站如何屏蔽特定国家IP/语言的访客, 同时允许搜索引擎蜘蛛和融洽访问?

匿名用户 2018-08-12 169 蜘蛛
环境: VPS, Centos, Ngix, Wordpress 1. 要屏蔽所有中国IP和中文语言的访客 2. 屏蔽代理访问 3. 以上访问跳转到某个特定网页或显示一段特定文字 4. 允许搜索引擎蜘蛛如Googlebot访问 5. 允许自己访问 要求比较多, 原谅我不会写PHP代码...
其他回答
要屏蔽所有中国IP和中文语言的访客
这还不容易!在你的PHP文件index.php最开始加上一句
header("X-Blocked-Keyword: dongtaiwang.com")
屏蔽代理访问简直扯淡,不可能实现(原因跟『高匿代理』这种东西没任何关系)
识别GoogleBot容易被判定作弊,亲你还是不要想了
允许自己访问?挂VPN最简单,其他方法都麻烦
热心网民 2018-08-12 16:30:39 0条评论
纯理论分析,不知能否帮忙:
  • PHP: GeoIP - Manual ,PHP看来有geo模块,可以对访问IP的地址进行地域分析,如果来自cn的,自行处理掉。(用法介绍GeoIP的使用 - PHP版)
  • 语言的话,可以试试查HTTP头的期望语言,自行处理掉zh-*

  • 封代理功夫大这个不用说了,不过可以参考维基百科的封禁表(
//zh.wikipedia.org/wiki/Special:%E5%B0%81%E7%A6%81%E5%88%97%E8%A1%A8?wpTarget=&wpOptions[]=userblocks&limit=500
,注意原因是{{blocked proxy}},API接口版就是
//zh.wikipedia.org/w/api.php?action=query&list=blocks&format=json&bklimit=500&bkshow=!account
详细用法,看 Special:API沙盒 显示)
,由于本身也反对使用代理编辑,所以抓代理也很狠,而且有一位外国大神开展了一个计划用来侦测代理用的,维基百科:Open proxy detection,可以勾取来参考。
  • 索引蜘蛛的话,HTTP头的UserAgent就可以了。
  • 自己访问的话,IP白名单,上面提到的VPN是更好的方法。

然后所有页都必须通过这个过滤器来访问,应该就是这样了。
陈肖恩 2018-08-12 16:30:39 0条评论
相关问答