网站如何屏蔽特定国家IP/语言的访客, 同时允许搜索引擎蜘蛛和自己访问?
程序员文章站
2022-04-18 11:10:18
...
环境: VPS, Centos, Ngix, Wordpress
1. 要屏蔽所有中国IP和中文语言的访客
2. 屏蔽代理访问
3. 以*问跳转到某个特定网页或显示一段特定文字
4. 允许搜索引擎蜘蛛如Googlebot访问
5. 允许自己访问
要求比较多, 原谅我不会写PHP代码...
这还不容易!在你的PHP文件index.php最开始加上一句
Incapsula免费版提供屏蔽国家功能。 纯理论分析,不知能否帮忙:
1. 要屏蔽所有中国IP和中文语言的访客
2. 屏蔽代理访问
3. 以*问跳转到某个特定网页或显示一段特定文字
4. 允许搜索引擎蜘蛛如Googlebot访问
5. 允许自己访问
要求比较多, 原谅我不会写PHP代码...
回复内容:
要屏蔽所有中国IP和中文语言的访客这还不容易!在你的PHP文件index.php最开始加上一句
header("X-Blocked-Keyword: dong*g.com")
提供一个屏蔽特定国家ip的方法,dns不予解析。Incapsula免费版提供屏蔽国家功能。 纯理论分析,不知能否帮忙:
- 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
手机答。
js代码
判断浏览器的语言头是不是包含“zh、cn”的内容,做一个跳转
不好的地方是换个英文浏览器就能访问。var BrowserLang = navigator.language || navigator.userLanguage;
if (BrowserLang.substr(0, 3) == "zh-") {
location = "http://www.baidu.com";
}
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
- 最新文章
- 热门排行
上一篇: C语言 位段的详细介绍
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论