PHP で IP アクセスを (検索エンジン スパイダーのフィルタリングなしで) 禁止する方法
リリース: 2016-07-25 08:55:38
-
-
/** - * 指定された IP アドレスへのアクセスをブロックしますが、検索エンジン スパイダーはブロックしません
- * by bbs.it-home.org
- */
- function get_ip_data(){
- $ip=file_get_contents("http://ip.taabao.com/service/getIpInfo. php?ip=".get_client_ip());
- $ip = json_decode($ip);
- if($ip->code){
- return false;
- }
$data = (array) $ip->data;
- if($data['region']=='湖北省' && !isCrawler()){
- exit('http://bbs.it-home. org');
- }
- }
- function isCrawler() {
- $spiderSite= array(
- "TencentTraveler",
- "Baiduspider+",
- "BaiduGame",
- "Googlebot",
- "msnbot",
- "Sosospider+ "、
- 「Sogou Web Spider」、
- 「ia_archiver」、
- 「Yahoo! Slurp」、
- 「YoudaoBot」、
- 「Yahoo Slurp」、
- 「MSNBot」、
- 「Sogou Spider」、
- 「Speedy Spider」、
- 「Google」 AdSense」、
- 「ヘリトリックス」、
- 「魚検索」、
- );
if(in_array(strto lower($_SERVER['HTTP_USER_AGENT']),$spiderSite)){
- return true;
- }else{
- return false;
- }
- }
- //获取客户端のIPアドレス
- function get_client_ip()
- {
- if (isset($_SERVER)){
- if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
- $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
- } else if (isset($_SERVER["HTTP_CLIENT_IP "])) {
- $realip = $_SERVER["HTTP_CLIENT_IP"];
- } else {
- $realip = $_SERVER["REMOTE_ADDR"];
- }
- } else {
- if (getenv("HTTP_X_FORWARDED_FOR")){
- $realip = getenv("HTTP_X_FORWARDED_FOR");
- } else if (getenv("HTTP_CLIENT_IP")) {
- $realip = getenv("HTTP_CLIENT_IP");
- } else {
- $realip = getenv("REMOTE_ADDR");
- }
- }
- return $realip;
- }
-
复制代
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31