zoukankan      html  css  js  c++  java
  • php禁止个别ip访问网站

    PHP禁止个别IP访问自己的网站,可以看看下面的方法。

    function get_ip_data(){   
        $ip=file_get_contents("http://ip.taobao.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://afish.cnblogs.com');
        }
    }  
     function isCrawler() {
            $spiderSite= array(
                            "TencentTraveler",
                            "Baiduspider+",
                            "BaiduGame",
                            "Googlebot",
                            "msnbot",
                            "Sosospider+",
                            "Sogou web spider",
                            "ia_archiver",
                            "Yahoo! Slurp",
                            "YoudaoBot",
                            "Yahoo Slurp",
                            "MSNBot",
                            "Java (Often spam bot)",
                            "BaiDuSpider",
                            "Voila",
                            "Yandex bot",
                            "BSpider",
                            "twiceler",
                            "Sogou Spider",
                            "Speedy Spider",
                            "Google AdSense",
                            "Heritrix",
                            "Python-urllib",
                            "Alexa (IA Archiver)",
                            "Ask",
                            "Exabot",
                            "Custo",
                            "OutfoxBot/YodaoBot",
                            "yacy",
                            "SurveyBot",
                            "legs",
                            "lwp-trivial",
                            "Nutch",
                            "StackRambler",
                            "The web archive (IA Archiver)",
                            "Perl tool",
                            "MJ12bot",
                            "Netcraft",
                            "MSIECrawler",
                            "WGet tools",
                            "larbin",
                            "Fish search",
                    );
            if(in_array(strtolower($_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;
    }
     
    转载请注明出处!小鱼阁工作室 -专注zencart建站,织梦企业建站,ecshop商城,二次开发,产品采集,模板修改!技术QQ 631992791
  • 相关阅读:
    Java中通过TCP协议发送和接收数据-Socket编程
    Java中通过UDP协议发送和接受数据
    多线程——线程范围内变量的共享
    多线程——线程间的同步通信
    多线程——线程同步互斥(synchronized)
    多线程——线程的生命周期
    多线程——线程的创建以及操作线程的相关方法简介
    iOS集成ShareSDK微博分享遇到问题 新浪微博登录redirect_uri_mismatch
    iOS中改变部分字体颜色
    CSS属性
  • 原文地址:https://www.cnblogs.com/afish/p/3928613.html
Copyright © 2011-2022 走看看