ホームページ > バックエンド開発 > PHPチュートリアル > 网站如何屏蔽特定国家IP/语言的访客, 同时允许搜索引擎蜘蛛和自己访问?

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

WBOY
リリース: 2016-06-06 16:43:25
オリジナル
2260 人が閲覧しました

环境: 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>
ログイン後にコピー
提供一个屏蔽特定国家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>
ログイン後にコピー
手机答。 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>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート