精华内容
下载资源
问答
  • 今天有朋友问我如何只允许指定IP访问,默认禁止其它ip访问,脚本之家小编以前分享的是如何限制指定ip访问,这里正好分享下,需要的朋友可以参考下
  • php网站屏蔽指定IP

    2019-03-30 14:09:35
    如域名使用了云加速,则以下方法均失效,需在云加速中添加IP黑名单。 方法一:页面后缀必须为.php <?php //获取用户IP地址 if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){ $key = $HTTP_SERVER_VARS...

    注意:
    如域名使用了云加速,则以下方法均失效,需在云加速中添加IP黑名单。

    方法一:页面后缀必须为.php

    <?php
    	//获取用户IP地址
    	if($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]){
      		$key = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
    	}elseif($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]){
      		$key = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
    	}elseif($HTTP_SERVER_VARS["REMOTE_ADDR"]){
      		$key = $HTTP_SERVER_VARS["REMOTE_ADDR"];
    	}elseif(getenv("HTTP_X_FORWARDED_FOR")){
      		$key = getenv("HTTP_X_FORWARDED_FOR");
    	}elseif (getenv("HTTP_CLIENT_IP")){
      		$key = getenv("HTTP_CLIENT_IP");
    	}elseif (getenv("REMOTE_ADDR")){
      		$key = getenv("REMOTE_ADDR");
    	}else{
      		$key = "Unknown";
    	}
    	//被屏蔽的IP
    	$ip_list=array(
    		'101.229.247.204'
    	);
    	if(in_array($key,$ip_list)){
    		echo "网站维护中...";
    		exit();
    	}
    ?>
    

    方法二:在服务器IIS中选择需要屏蔽的站点进行以下操作即可,无需重启IIS。


    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    方法三:在网站根目录下添加.htaccess文件,文件添加以下代码即可。
    禁止指定IP地址:如:192.168.1.1
    order Deny,Allow
    deny from 192.168.1.1
    deny from 117.71.61.221
    禁止指定IP地址段:
    order Deny,Allow
    deny from 192.168.1-192.168.1.254

    展开全文
  • // 是否在ip区间 function in_ips($ip, $ips) { $ip = ip2long($ip); $ips[0] = ip2long($ips[0]); $ips[1] = ip2long($ips[1]); if ($ip >= $ips[0] && $ip <= $ips[1]) { ...
    // 是否在ip区间
    function in_ips($ip, $ips) {
        $ip = ip2long($ip);
        $ips[0] = ip2long($ips[0]);
        $ips[1] = ip2long($ips[1]);
        if ($ip >= $ips[0] && $ip <= $ips[1]) {
            return true;
        } else {
            return false;
        }
    }

     

    转载于:https://www.cnblogs.com/smismile/p/5183737.html

    展开全文
  • [php] view plaincopyprint? /** * 检测访问的ip是否为规定的允许的ip * Enter description here ... */ function check_ip(){ $ALLOWED_IP=array('192.168.2.*','127.0.0.1','192.168.2.49'); $...
    
    1. /** 
    2.  * 检测访问的ip是否为规定的允许的ip 
    3.  * Enter description here ... 
    4.  */  
    5. function check_ip(){  
    6.     $ALLOWED_IP=array('192.168.2.*','127.0.0.1','192.168.2.49');  
    7.     $IP=getIP();  
    8.     $check_ip_arrexplode('.',$IP);//要检测的ip拆分成数组  
    9.     #限制IP  
    10.     if(!in_array($IP,$ALLOWED_IP)) {  
    11.         foreach ($ALLOWED_IP as $val){  
    12.             if(strpos($val,'*')!==false){//发现有*号替代符  
    13.                  $arr=array();//  
    14.                  $arr=explode('.'$val);  
    15.                  $bl=true;//用于记录循环检测中是否有匹配成功的  
    16.                  for($i=0;$i<4;$i++){  
    17.                     if($arr[$i]!='*'){//不等于*  就要进来检测,如果为*符号替代符就不检查  
    18.                         if($arr[$i]!=$check_ip_arr[$i]){  
    19.                             $bl=false;  
    20.                             break;//终止检查本个ip 继续检查下一个ip  
    21.                         }  
    22.                     }  
    23.                  }//end for   
    24.                  if($bl){//如果是true则找到有一个匹配成功的就返回  
    25.                     return;  
    26.                     die;  
    27.                  }  
    28.             }  
    29.         }//end foreach  
    30.         header('HTTP/1.1 403 Forbidden');  
    31.         echo "Access forbidden";  
    32.         die;  
    33.     }  
    34. }  
    /**
     * 检测访问的ip是否为规定的允许的ip
     * Enter description here ...
     */
    function check_ip(){
    	$ALLOWED_IP=array('192.168.2.*','127.0.0.1','192.168.2.49');
    	$IP=getIP();
    	$check_ip_arr= explode('.',$IP);//要检测的ip拆分成数组
    	#限制IP
    	if(!in_array($IP,$ALLOWED_IP)) {
    		foreach ($ALLOWED_IP as $val){
    		    if(strpos($val,'*')!==false){//发现有*号替代符
    		    	 $arr=array();//
    		    	 $arr=explode('.', $val);
    		    	 $bl=true;//用于记录循环检测中是否有匹配成功的
    		    	 for($i=0;$i<4;$i++){
    		    	 	if($arr[$i]!='*'){//不等于*  就要进来检测,如果为*符号替代符就不检查
    		    	 		if($arr[$i]!=$check_ip_arr[$i]){
    		    	 			$bl=false;
    		    	 			break;//终止检查本个ip 继续检查下一个ip
    		    	 		}
    		    	 	}
    		    	 }//end for 
    		    	 if($bl){//如果是true则找到有一个匹配成功的就返回
    		    	 	return;
    		    	 	die;
    		    	 }
    		    }
    		}//end foreach
    		header('HTTP/1.1 403 Forbidden');
    		echo "Access forbidden";
    		die;
    	}
    }
     
    1.  <pre class="php" name="code">/** 
    2.  * 获得访问的IP 
    3.  * Enter description here ... 
    4.  */  
    5. function getIP() {  
    6.     return isset($_SERVER["HTTP_X_FORWARDED_FOR"])?$_SERVER["HTTP_X_FORWARDED_FOR"]  
    7.     :(isset($_SERVER["HTTP_CLIENT_IP"])?$_SERVER["HTTP_CLIENT_IP"]  
    8.     :$_SERVER["REMOTE_ADDR"]);  
    9. }</pre><br>  
    10. <pre></pre>  
    11. 在需要检测的地方 加上调用 check_ip(); 即可;  本函数提供只允许指定的IP访问文件,并提供IP中*号通配符 匹配多IP  
    12. <pre></pre>  
    展开全文
  • 里给大家分享的是一个简单的使用php实现的屏蔽指定IP段的代码,非常的实用,有需要的小伙伴可以参考下。
  • 项目中需要判断发起微信支付回调的IP在不在微信商户出口IP中,以防止私钥泄露别人发起伪装过的假回调造成损失 1获取客户端IP /** * @explain 获取用户IP * @param int $type * @return mixed */ function get...

    需求:

    项目中需要判断发起微信支付回调的IP在不在微信商户出口IP中,以防止私钥泄露别人发起伪装过的假回调造成损失

    1获取客户端IP

    /**
     * @explain 获取用户IP
     * @param int $type
     * @return mixed
     */
    function get_client_ip($type = 0)
    {
        $type = $type ? 1 : 0;
        static $ip = NULL;
        if ($ip !== NULL) return $ip[$type];
        if (isset($_SERVER['HTTP_X_REAL_IP'])) {//nginx 代理模式下,获取客户端真实IP
            $ip = $_SERVER['HTTP_X_REAL_IP'];
        } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {//客户端的ip
            $ip = $_SERVER['HTTP_CLIENT_IP'];
        } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {//浏览当前页面的用户计算机的网关
            $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
            $pos = array_search('unknown', $arr);
            if (false !== $pos) unset($arr[$pos]);
            $ip = trim($arr[0]);
        } elseif (isset($_SERVER['REMOTE_ADDR'])) {
            $ip = $_SERVER['REMOTE_ADDR'];//浏览当前页面的用户计算机的ip地址
        } else {
            $ip = $_SERVER['REMOTE_ADDR'];
        }
        // IP地址合法验证
        $long = sprintf("%u", ip2long($ip));
        $ip = $long ? array($ip, $long) : array('0.0.0.0', 0);
        return $ip[$type];
    }

    2.验证IP是否在某个网段

    /**
     * Notes: 判断IP在不在IP网段内
     * Date: 2019/6/18
     * Time: 15:22
     * @param $ip 要查询的IP地址
     * @param $network IP段  例: 192.168.1.1/24
     * @return bool
     */
    function ip_in_network($ip, $network)
    {
        $ip = (double) (sprintf("%u", ip2long($ip)));
        $s = explode('/', $network);
        $network_start = (double) (sprintf("%u", ip2long($s[0])));
        $network_len = pow(2, 32 - $s[1]);
        $network_end = $network_start + $network_len - 1;
    
        if ($ip >= $network_start && $ip <= $network_end) {
            return true;
        }
        return false;
    }

    3.判断

    验证不通过则拒绝请求

    class Notify extends Controller
    {
    
    
        /**
         * 判断当前发起通知IP是否在微信商户出口IP段里,防止私钥泄露伪造通知
         * Notify constructor.
         * @param Request $request
         */
        public function __construct(Request $request)
        {
            $ip = get_client_ip();
            $whiteList = Setting::get('WX_NOTIFY_WHITE_LIST')->conf_value ?? '';
            $whiteList = explode(',',$whiteList);//ip白名单
            $verify = 0;
            foreach ($whiteList as $k => $v)
            {
                $verify = ip_in_network($ip,$v);
                if ($verify == 1)
                    break;
    
            }
            $verify ==  0 && exit('Access Denied');
            
        }

     

    展开全文
  • Windows ping指定ip下的指定端口

    千次阅读 2019-11-15 09:32:51
    Windows ping指定ip下的端口 下载tcping并放在C:\Windows\System32 目录下 重启cmd tcping ip 空格端口 tcping不要输入冒号 下载地址 https://elifulkerson.com/projects/tcping.php ...
  • * 检测访问的ip是否为规定的允许的ip * Enter description here ... */ function check_ip(){ $ALLOWED_IP=array('192.168.2.*','127.0.0.1','192.168.2.49'); $IP=getIP(); $check_ip_arr= explode('.....
  • PHP 判断指定IP,是否在一个IP段里

    千次阅读 2015-11-15 03:00:54
    IP段的二进制 和 子网掩码二进制 按位与 (PHP 位与符号 &)  得到结果保存起来; 把要查询的IP地址 转二进制 然后和 上面的 子网掩码二进制 按位与   得到的结果 和 上面 位与结果 对比,如果相同 就是 ...
  • 预想方案:指定curl 的dst host ip addr   实践一:静态路由 改 /etc/hosts,加一条记录 api.xxx.com.cn  10.23.xx.xx 考虑到未来server数量水平扩展时,运维人员需要做代码部署之外的工作,而人也...
  • 下面自己写了个获取IP物理地址的PHP代码(有一定的瑕疵,请高手不吝赐教) 复制代码 代码如下: <!DOCTYPE html> <html lang=”en”> <head> <title></title> <meta charset=”UTF-8″...
  • 下载地址:...ping是简单的测试网络连接情况的小工具,对于一般用户很实用,但是ping有个缺点就是,不能指定端口  tcping命令是针对tcp监控的,也可以看到ping值,即使源地址禁ping也...
  • 所以需要指定特定IP的服务器发送过来的数据才是有效的,其他IP的都不作处理。   实现方法就是在接口接收程序里面做接收数据IP判断,只有允许的IP的数据我们才接收入库。 php获取数据发送方IP信息的代码为: &...
  • ping 指定IP地址和端口

    2020-09-15 14:28:03
    但是ping命令只能指定ip地址,不能指定端口号.这个时候可以借助一个工具Tcping:https://elifulkerson.com/projects/tcping.php(如果下载不了,可以直接留言,通过百度网盘直接分享给你) 下载了tcping之后拷贝到C:\...
  • 最近承接的一个项目中,需要用在公有云阿里...问题:api.xxx.com.cn 是私有云中的域名,解析出来的IP地址不能在外网访问,BUT api.xxx.com.cn 竟然在外网被解析到一个可以访问的IP,于是curl傻傻的连接到这个IP去了...
  • //判断某个ip是否在给定的ip范围内 $ipRanges = array( array( '192.168.1.1' , '192.168.30.30'), array( '10.1.1.1' , '10.1.10.255' ) , array( '100.100.1.1' , '10.100.10.50' ) ); //给定的ip字段 $...
  • 网站常用的模块可能出了注册、登陆、发稿、留言、评论,剩下比较重要的...下面自己写了个获取IP物理地址的PHP代码(有一定的瑕疵,请高手不吝赐教)Venus'Blog <!DOCTYPE html> <html lang="en">...
  • php curl指定远端IP

    千次阅读 2015-05-11 21:42:18
    <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.66/indexdata/'); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: www.domain.com')); $response = curl_exec($ch); if (curl_errn
  • 有时候我们需要指定IP来访问,需要设置下面的: 在config.php中添加 // 禁止访问模块 'deny_module_list' => ['common'], // 设置某些ip可以访问指定模块 'allow_module_ip' => ['admin' => '*'], ...
  • 1. 淘宝的API(推荐):http://ip.taobao.com/service/getIpInfo.php?ip=110.84.0.129 2. 国外freegeoip.net(推荐):http://freegeoip.net/json/110.84.0.129 这个还提供了经纬度信息(但不一定准&gt;) 3. ...
  • java_获取指定ip的定位

    2019-10-08 23:58:36
    因为自己网站后台做了一个进站ip统计,之前只是获取了ip,这次优化了下,把ip的...淘宝API:http://ip.taobao.com/service/getIpInfo.php?ip=218.192.3.42新浪API:http://int.dpool.sina.com.cn/iplookup/iplookup....
  • PHP 利用curl发送指定远程IP请求

    千次阅读 2015-12-21 17:59:59
    比如我要将baidu.com 解析到IP121.12.XX.XX下,那么可以这样 $url = 'www.baidu.com';  $proxy = '121.14.XX.XX:80'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); c
  • location ^~/目录名/{ allow +ip地址; deny all; include eneable-php.conf; } 转载于:https://www.cnblogs.com/paddygege/p/6401953.html
  • 以下代码产生和应用背景...3 山东济南用户定向到指定ip,其他地区保持不变 <?php /** * 根据客户ip定向到指定网址 * @author Www.Wesoho.Com * @copyright 2012 */ header('Expires: Sat, 26 Jul 19...
  • http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js" charset="GB2312" &gt;&lt;/script&gt;&lt;script type=text/javascript&gt; alert("你的IP是:" +...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 669
精华内容 267
关键字:

php指定ip