• 技术文章 >后端开发 >php教程

    PHP禁止个别IP访问网站_php实例

    2016-06-07 17:23:23原创314
    想不让某个IP访问网站,可以封他的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://www.a.net');
    }
    }

    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;
    }

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP禁止IP
    上一篇:PHP查询网站的PR值_php实例 下一篇:php加密解密函数authcode的用法详细解析_php实例
    千万级数据并发解决方案

    相关文章推荐

    • PHP上传实例代码并防止重复上传_PHP教程• 54个提高PHP运行效率技巧一览_PHP教程• PHP+TEXT留言本(四)_PHP教程• PHP XML转数组函数_PHP教程• PHP面向对象编程入门_PHP教程
    1/1

    PHP中文网