我需要些帮助。我想知道是否有任何可能的代码在php中阻止某些ip地址访问我的IP地址和我的pc从访问特定的IP地址。(例如,我使用ip地址192.168.1.2,我希望阻止192.168.1.3中的ip地址,反之亦然)。在php代码中有可能吗?如果可能的话,我不想用.htaccess文件编写,而是用.php文件编写代码。
这里是我的一些PHP代码
<?php
$address = "192.168.1.7";
$total=0;
$i=1;
$blockIPstatus="no";
while($blockIPstatus=="no") {
$ping = exec("ping $address");
$pingTime = explode(',',trim($ping));
$time = explode("=",trim($pingTime[2]));
$onlytime = implode("m",trim($time));
$number=chop($time[1],"ms");
$total=$total+$number;
$average=$total/$i;
echo ", Total=".$total;
echo ", average=".round($average, 2);
echo "<br>";
if($average>=500)
$blockIPstatus="yes";
}
// i need some function to block this ip from here
?>发布于 2016-12-21 06:17:07
做这件事有很多方法。但是,如果您想用.php来完成它,您可以这样做:
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
if($ip =='192.168.1.2')
{
echo "Not allowed";
exit;
}发布于 2016-12-21 06:08:34
试试这个:
Order Deny,Allow
Deny from 192.168.1.3解释:
Apache Web Server提供的访问者阻塞设施使我们能够拒绝对特定访问者的访问,或者允许访问特定的访问者。这对于阻止不必要的访问者非常有用,或者只允许网站所有者访问网站的某些部分,例如管理区域。
若要设置访问者限制和阻塞,请按照主要说明和指南创建一个.htaccess文件,其中包括以下文本:
order allow,deny
deny from 255.0.0.0
deny from 123.45.6.
allow from all上面的行告诉Apache Web Server阻止访问者访问IP地址'255.0.0.0‘和’123.45.6‘。注意,第二个IP地址缺少第四组数字,这意味着任何与firth三位数匹配的IP地址都将被阻塞,例如'123.45.6.10’和'123.45.6.255‘。
参考文献
发布于 2016-12-21 06:11:32
试着像这样。
if($_SERVER['REMOTE_ADDR'] == "192.168.1.3"))
{
die("This IP is Blocked");
}https://stackoverflow.com/questions/41256206
复制相似问题