PHP禁止个别IP访问网站


Posted in PHP onOctober 30, 2013

想不让某个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;
}
PHP 相关文章推荐
php escape URL编码
Dec 10 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
php中神奇的fastcgi_finish_request
May 02 PHP
PHP学习笔记之数组篇
Jun 28 PHP
php while循环得到循环次数
Oct 26 PHP
discuz加密解密函数使用方法和中文注释
Jan 21 PHP
linux使用crontab实现PHP执行计划定时任务
May 10 PHP
php使用ob_start()实现图片存入变量的方法
Nov 14 PHP
PHP实现上传文件并存进数据库的方法
Jul 16 PHP
PHP实现的memcache环形队列类实例
Jul 28 PHP
php版微信js-sdk支付接口类用法示例
Oct 12 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
Oct 18 PHP
php cURL和Rolling cURL并发方式比较
Oct 30 #PHP
使用PHP Socket写的POP3类
Oct 30 #PHP
腾讯QQ微博API接口获取微博内容
Oct 30 #PHP
FireFox浏览器使用Javascript上传大文件
Oct 30 #PHP
php使用ICQ网关发送手机短信
Oct 30 #PHP
PHP分页详细讲解(有实例)
Oct 30 #PHP
php预定义变量使用帮助(带实例)
Oct 30 #PHP
You might like
使用php验证复选框有效性的示例
2013/11/13 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
京东优选小程序的实现代码示例
2020/02/25 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
简洁的十分钟Python入门教程
2015/04/03 Python
在Python中移动目录结构的方法
2016/01/31 Python
Python机器学习logistic回归代码解析
2018/01/17 Python
python处理multipart/form-data的请求方法
2018/12/26 Python
python调用摄像头拍摄数据集
2019/06/01 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
wxPython多个窗口的基本结构
2019/11/19 Python
怎么快速自学python
2020/06/22 Python
Python list和str互转的实现示例
2020/11/16 Python
美国领先的奢侈美容零售商:Bluemercury
2017/07/26 全球购物
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
玩具公司的创业计划书
2013/12/31 职场文书
园艺师求职信
2014/03/10 职场文书
企业新年寄语
2014/04/04 职场文书
安全口号大全
2014/06/21 职场文书
搞笑车尾标语
2014/06/23 职场文书
拾金不昧感谢信
2015/01/21 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书