(1.)我希望允许访问者仅从某个 IP 地址范围访问页面(第 2 段)。轻松地将更多 IP 地址的正则表达式添加到 IP 地址列表。
我的正则表达式数组是:
$IP_LIST_ACCESS = array(
"/^188\.133\.11\.([1-9]|[1-9][0-9]|1([0-9][0-9])|2([0-4][0-9]|5[0-4]))$/"
,"/^188\.133\.14\.([1-9]|[1-9][0-9]|1([0-1][0-9]|2[0-8]))$/"
,"/^127\.0\.0\.1$/"
);
(2.)上述数组的 IP 范围是188.133.11.1-188.133.11.254
and 188.136.14.1-188.136.14.128
and127.0.0.1
下面是我检测错误 IP 地址并死掉的代码:
$USER_IP_ADDR = $_SERVER['REMOTE_ADDR'];
foreach ($IP_LIST_ACCESS as $IP_ACC_ARRAY)
{
if (!preg_match($IP_ACC_ARRAY, $USER_IP_ADDR))
{
echo '#INVALID IP'; #DEBUG
die;
}
}
(3.)使用我上面的代码,总是给出INVALID IP
错误(总是检测为错误的 IP 地址)。
哪里有问题 ?
编辑
(4。)我只是想这样做,如果有更好的方法,与 preg_match 不完全一致。