Nasıl bu PHP dizi kullanabilirsiniz?

2 Cevap php

Ben bir dizi veya IP kullanıcısının için aşağıdaki işlevi kullanmak için kullanılır ama şimdi ben bu gelen IP dizi değişiklikleri var:

$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;
    }	
}

Bunun için:

$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;
    }	
}

Şimdi ben, olsa işe alınamıyor

Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\webserver\htdocs\includes\functions.inc.php on line 948

Ben yapmaya çalışıyorum ne yapmak mümkün mü?

2 Cevap

$ ['bannedIPs'] config_item ve işlevine $ config_item geçmek için ikinci argümanı da değiştirecektir.

Daha fazla IP'leri eklemek gerekirse böyle bir şey kullanın, bu gelecekte çok esnek olacaktır.

$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;
    }
}