我曾经使用下面的函数来表示数组或IP,但现在我已经改变了这个IP数组:
$bannedIPs = array('127.0.0.0','72.189.218.85'); // Banned IPs array
ipban($bannedIPs);
function ipban($bannedIPs) {
if (in_array($_SERVER['REMOTE_ADDR'], $bannedIPs)) {
include ("site_banip.php");
session_destroy();
exit;
}
}
到此:
$config_item['bannedIPs'] = array('127.0.0.0','72.189.218.85'); // Banned IPs array
ipban($config_item['bannedIPs']);
function ipban($bannedIPs) {
if (in_array($_SERVER['REMOTE_ADDR'], $bannedIPs)) {
include ("site_banip.php");
session_destroy();
exit;
}
}
现在我无法让它工作,
Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\webserver\htdocs\includes\functions.inc.php on line 948
我可以做我想做的事吗?
答案 0 :(得分:1)
将第二个参数更改为$ config_item ['bannedIPs']并将$ config_item传递给函数。
答案 1 :(得分:0)
使用类似的东西,如果你需要添加更多的IP,它将来会非常灵活。
$whitelist = array(
// ".*.32.255.255", // Sample
// "63.76.53.255", // Sample
// "46..*..*..*", // Sample
// "46.32..*..*", // Sample
// "46.32.255..*", // Sample
// "46..**.255.255", // Sample
);
foreach($whitelist as $ip)
{
if (ereg($ip, $_SERVER['REMOTE_ADDR']))
{
include ("site_banip.php");
session_destroy();
exit;
}
}