老生常谈的一个话题,做了一个站点,我不想让国内的人知道,外贸闷头发财才是正经,那么如何 通过手段禁止国内访问或是特定的国家访问呢?
常见的三种方法:
在所有页面添加php判断浏览器及操作系统跳转:
$lan=$_SERVER['HTTP_ACCEPT_LANGUAGE']; //IE $client_sys_language = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; // system language if(ereg("zh",$lan) && ereg("zh",$client_sys_language) ){ if (isset($_SESSION['IsSus']) || isset($_COOKIE["IsSus"]) ){ $_SESSION['IsSus'] = true ; setcookie("IsSus", true , time()+3600); } else{ if ( isset($_POST['ckmksus']) && ( $_POST['ckmksus'] == 'Magentola' ) ){ $_SESSION['IsSus'] = true ; setcookie("IsSus", true , time()+3600); } else{ echo '<form action="" method="post"><input name="ckmksus" type="text" /><input name="" type="submit" value="submit" /></form>' ; exit ; } } }自己访问输入密码 Magentola
web服务器上进行屏蔽
Nginx:
if ($http_accept_language ~* ^zh) { return 403;}
Apache .htaccess文件操作
RewriteCond %{HTTP:Accept-Language} ^zh-cn.*$ [NC,OR]
RewriteCond %{HTTP:Accept-Language} ^zh.*$ [NC]
RewriteRule ^.*$ http://www.magentola.com [R=302,L]
JS植入验证语言并跳转:
<script type="text/javascript"> if (navigator.language) var language = navigator.language; else var language = navigator.browserLanguage; if(language.indexOf('zh') > -1) document.location.href = 'http://www.magentola.com/403-Forbidden.html'; </script>