很多站长朋友们都不太清楚php配置拦截ip,今天小编就来给大家整理php配置拦截ip,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP中如何阻止某个IP频繁的发请求? 2、 php屏蔽ip问题!!! 3、 PHP网站如何屏蔽国外的IP PHP中如何阻止某个IP频繁的发请求?两个方法
一个是系统级的,也就是在系统里通过软件将这个ip屏蔽掉,这需要你有服务器的管理权限
第二个方法就是应用级的了
在你的程序里,加上ip访问模块,添加黑名单即可。
php屏蔽ip问题!!!<?phpfunction check_ip($range,$ip='') {if($ip =='') $ip = getenv("REMOTE_ADDR");if ($ip == "127.0.0.1") return 1;$result = 1;if (ereg("([0-9]+).([0-9]+).([0-9]+).([0-9]+)/([0-9]+)",$range,$regs)) {$ipl = ip2long($ip);$rangel = ip2long($regs[1] . "." . $regs[2] . "." . $regs[3] . "." . $regs[4]);$maskl = 0;for ($i = 0; $i< 31; $i++) {if ($i < $regs[5]-1) {$maskl = $maskl + pow(2,(30-$i));}}if (($maskl $rangel) == ($maskl $ipl)) {return 1;} else {return 0;}} else {$maskocts = split(".",$range);$ipocts = split(".",$ip);for ($i=0; $i<4; $i++) {if (ereg("[([0-9]+)-([0-9]+)]",$maskocts[$i],$regs)) {if ( ($ipocts[$i] > $regs[2]) || ($ipocts[$i] < $regs[1])) {$result = 0;}}else{if ($maskocts[$i] <> $ipocts[$i]) {$result = 0;}}}}return $result;}function auth_ip(){$result = 0;$null_check = 1;$path = "ip.txt"; //ip限制配置文件,每行的格式为/*xxx.xxx.xxx.xxx 比如 127.0.0.2xxx.xxx.xxx.[yyy-zzz] 比如 1270.0.0.[2-23]xxx.xxx.xxx.xxx/nn 比如 127.0.0.0/24*/$fg=@fopen($path,"r");while($line=@fgets($fg,1024)){$line = trim($line);$line=ereg_replace("#.*","",$line);if ($line != ""){$null_check = 0;if (check_ip($line)) {fclose($fg);return 1;}}}@fclose($fg);if ($null_check == 1) return 1;return $result;}?><?phpsession_start();if($_SESSION['up2ugg_admin']<>"up2ugg_admin"){if(auth_ip()){?> document.write("<script>window.location.href=\"}}?>
PHP网站如何屏蔽国外的IP你好,若是屏蔽一定范围的IP地址段,你可以通过修改虚拟主机的htaccess去屏蔽,order allow,deny
deny from 38.99.82.191/271
allow from all
若是某一特定IP,你可以通过$_SERVER['HTTP_REFERER']获取登录你网站的IP地址,然后if(ip == $_SERVER['HTTP_REFERER']),然后跳转到某一特定页面,希望对你有所帮助!
关于php配置拦截ip的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php配置拦截ip php屏蔽ip的详细内容...