假設我具有要阻止89.96.53.158和89.96.53.189的以下IP范圍這是如何嘗試實現它。我的問題是:按照下面的代碼,這是最好的方法嗎?下面的代碼是否適合它$ip = sprintf('%u', ip2long($_SERVER['REMOTE_ADDR']));$start_ip = sprintf('%u', ip2long("89.96.53.158"));$end_ip = sprintf('%u', ip2long("89.96.53.189"));// stop only ip range between 89.96.53.158 - 89.96.53.189if ($ip >= $start_ip && $ip <= $end_ip) { echo "you cannot access our site"; exit();}我也可以使用strpos()功能來實現嗎
1 回答
慕仙森
TA貢獻1827條經驗 獲得超8個贊
是的,我想出了另一種使用strpos()方法的方法
if(strpos($_SERVER['REMOTE_ADDR'], "89.96") === 0)
{
echo "you cannot access our site";
exit();
}
如果您注意到,===操作員將確保89.96位于IP地址的開頭。這意味著您可以指定任意數量的IP地址,并且無論后面輸入什么數字,該地址都會被阻止。
- 1 回答
- 0 關注
- 158 瀏覽
添加回答
舉報
0/150
提交
取消
