2011-05-27

【程式】PHP : 允許某網段或某 IP 可以存取

擋擋擋擋擋,最近都在擋盜連,
結果擋過頭,之前有介接程式的人要連都連不到。
所以,就要開放某些IP ,或是整個網段的 IP ,都可以直接連。
而不用經過驗證碼這殘酷的一關。
貼上我的程式碼。

# Extra IP Rule 
$allowIP = array('10.1.1.1','10.2.2');
if(getenv('HTTP_X_FORWARDED_FOR')){
    $x_ip = split(',', getenv('HTTP_X_FORWARDED_FOR'));
    $ip = $x_ip[0];
} else {
    $ip = getenv('REMOTE_ADDR');
}
$extraRule = false;
foreach ($allowIP as $allow) {
    if (ereg($allow, $ip)) {
        $extraRule = true;
        break;
    }
}
if ($extraRule) {
    # do something...
} else {
    # bye ...
}
以上的程式,如果IP 是 10.1.1.1 或 10.2.2.xxx 的網段 就會進入 extraRule 的規則。
如果不是,就把他們導走吧。

0 comments:

張貼留言