Home > Backend Development > PHP Tutorial > 网站如何屏蔽特定国家IP/语言的访客, 同时允许搜索引擎蜘蛛和自己访问?

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

WBOY
Release: 2016-06-06 16:43:25
Original
2324 people have browsed it

环境: VPS, Centos, Ngix, Wordpress
1. 要屏蔽所有中国IP和中文语言的访客
2. 屏蔽代理访问
3. 以上访问跳转到某个特定网页或显示一段特定文字
4. 允许搜索引擎蜘蛛如Googlebot访问
5. 允许自己访问

要求比较多, 原谅我不会写PHP代码...

回复内容:

要屏蔽所有中国IP和中文语言的访客
这还不容易!在你的PHP文件index.php最开始加上一句
<code class="language-php"><span class="x">header("X-Blocked-Keyword: dongtaiwang.com")</span>
</code>
Copy after login
提供一个屏蔽特定国家ip的方法,dns不予解析。

Incapsula免费版提供屏蔽国家功能。 纯理论分析,不知能否帮忙:
  • PHP: GeoIP - Manual ,PHP看来有geo模块,可以对访问IP的地址进行地域分析,如果来自cn的,自行处理掉。(用法介绍GeoIP的使用 - PHP版
  • 语言的话,可以试试查HTTP头的期望语言,自行处理掉zh-*

  • 封代理功夫大这个不用说了,不过可以参考维基百科的封禁表(
<code class="language-text">//zh.wikipedia.org/wiki/Special:%E5%B0%81%E7%A6%81%E5%88%97%E8%A1%A8?wpTarget=&wpOptions[]=userblocks&limit=500
</code>
Copy after login
手机答。 js代码 判断浏览器的语言头是不是包含“zh、cn”的内容,做一个跳转 不好的地方是换个英文浏览器就能访问。
<code class="language-text">var BrowserLang = navigator.language || navigator.userLanguage;
if (BrowserLang.substr(0, 3) == "zh-") {
    location = "http://www.baidu.com";
}
</code>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template