【问题标题】:white list ip address for admin access用于管理员访问的白名单 IP 地址
【发布时间】:2011-09-19 00:07:21
【问题描述】:

我的网站上有一个区域,我只想让少数人访问。我的代码现在只适用于一个 IP 地址,但我希望能够添加更多。

这是我正在使用的:

$ipaddress = $_SERVER['REMOTE_ADDR'];
if($ipaddress == '111.111.111.111') {
//Action for allowed IP Addresses
} else {
//Action for all other IP Addresses
echo 'You are not authorized here.'; 
echo "<br />IP Address: ".$_SERVER['REMOTE_ADDR'];
exit;
}

【问题讨论】:

    标签: php


    【解决方案1】:
    $whitelist = array('111.111.111.111', '111.111.111.112');
    if (in_array($_SERVER['REMOTE_ADDR'], $whitelist)) {
        //Action for allowed IP Addresses
    } else {
        //Action for all other IP Addresses
        echo 'You are not authorized here.'; 
        echo "<br />IP Address: ".$_SERVER['REMOTE_ADDR'];
        exit;
    }
    

    【讨论】:

    • @zerkms 谢谢你完美的工作。当限制结束时,我会接受你的回答:)
    • 这是最好的检查方法吗?如果远程用户在代理后面怎么办?我想代理必须在白名单上,这是一个有争议的问题。
    • @MrOodles:不是最好的,而是唯一的。没有比$_SERVER['REMOTE_ADDR'] 更值得您信任的数据了(假设您的网络服务器配置为使用客户端 ip 对其进行初始化)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 2013-10-20
    • 2020-12-23
    • 1970-01-01
    相关资源
    最近更新 更多