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

php禁止个别ip访问网站

时间: 2024-07-30 10:21:18

php禁止个别ip访问网站的相关文章

防恶意解析,禁止用IP访问网站的Apache设置

一般来说,网站可以用域名和IP来访问.你的网站可以通过IP直接访问,本来这没什么问题,但是会有些隐患: 由于搜索引擎也会收录你的IP地址的页面,所以同一个页面搜索引擎会重复收录,造成页面的权重不如单个收录高. 域名恶意指向的可能.还记得去年还是前年的 google.com.sb 事件吗?google.com.sb 这个域名被恶意指向了百度,后来证实了 google.com.sb 这个域名为第三者恶意指向的,并不是Google所为.当然这只是个玩笑,但是如果被人恶意用别的域名解析到你的IP的话,那

Nginx 安装配置 禁止使用IP访问 rewrite重写 别名设置 日志轮询

1.yum install pcre pcre-devel -y#支持rewrite重写功能 2.yum -y install openssl openssl-devel#支持https功能 3.useradd nginx -s /sbin/nologin -M#添加用户 4.tar zxf nginx-1.6.2.tar.gz   cd nginx-1.6.2./configure \--user=nginx --group=nginx \--prefix=/application/nginx

apache 2.4 配置httpd:添加域名禁止IP访问网站

apache 2.4 配置httpd:添加域名禁止IP访问网站 一般来说,网站可以用域名和IP来访问.你的网站可以通过IP直接访问,本来这没什么问题,但是会有些隐患:由于搜索引擎也会收录你的IP地址的页面,所以同一个页面搜索引擎会重复收录,造成页面的权重不如单个收录高.域名恶意指向的可能:还记得google.com.sb 事件吗?google.com.sb 这个域名被恶意指向了百度,后来证实了 google.com.sb 这个域名为第三者恶意指向的,并不是Google所为.当然这只是个玩笑,但是

Nginx如何设置禁止IP访问网站

需要禁止IP访问网站.在相关的server中设置相关的限制即可.

apache禁止使用IP访问的实现方法

apache禁止访问目录列表 apache禁止访问目录列表对于开发人员来说还是蛮实用的,可以迅速查找根目录下的所有项目,但如果一个挂在互联网上的服务器为了提高安全性就必须禁止访问目录列表. 找到Apache 的 httpd.conf 配置文件将: XML/HTML代码 Options Indexes FollowSymLinks 改为:Options FollowSymLinks 也就是把 Indexes 去掉. 额外信息:在apache中设置虚拟主机 在IIS中我们可以方便的通过不同的IP或者

获取客户端ip访问网站的次数和请求页面脚本

获取客户端ip访问网站的次数和请求页面 #/bin/bash cd /data/iplog/$1/pv txt=$(ls -l|awk '{print $NF}'|sed '1d') for n in $txt do ip=$(cat /root/iplist) for n1 in $ip do grep $n1 $n >>/opt/txt01/$n1-$1-cpv.txt done done rep_txt=$(cd /opt/txt01/&&ls -l *cpv.txt|a

nginx 禁止某个IP访问立网站的设置方法

一:建立ip列表 vim /usr/local/nginx/conf/ip.txt deny 192.168.1.100; deny 192.168.1.101; #或者    allow 192.168.1.102; allow 192.168.1.103; deny all; 实现只允许102和103访问网站,其他全部拒绝. 二:在nginx.conf加入该列表 vim /usr/local/nginx/conf/nginx.conf include /usr/local/nginx/con

用.htaccess禁止某IP访问

代码如下 Order Allow,Deny Allow from all Deny from 125.64.2.46 182.237.3.102 58.215.169.18 114.80.132.9 121.14.48.5 66.249.67.182 94.180.84.186 58.243.40.76 89.123.61.113 116.23.60.197 110.75.172.81 60.215.129.75 允许所有,禁止 XXX,请将里面的IP改成你要封杀的IP地址.并另存为.htacc

Java网络编程从入门到精通(3):为什么不能直接通过IP访问网站

在<创建InetAddress对象的四个静态方法>一文中通过getAllByName得到了www.csdn.net对应的四个IP地址.从理论上说,在IE(或其他的Web浏览器,如Firefox)的地址栏中输入这四个IP地址中的任何一个,都可能访问www.csdn.net.如输入http://211.100.26.124.但IE却返回了一个错误信息.在输入另外三个IP后,都会得到同样的错误信息. 这个错误并不是网页未找到错误(HTTP状态号:404),而是拒绝访问错误(HTTP状态号:403).