PHP 锁定的 IP 地址

php
2022-08-30 19:16:04

我锁定了IP地址。

这是否意味着用户只能使用相同的IP地址登录?或者用户将注销并必须重新登录才能获得新会话?

if (isset($_SESSION['last_ip']) === false) {
    $_SESSION['last_ip'] = $_SERVER['REMOTE_ADDR']; 
}

if ($_SESSION['last_ip'] != $_SERVER['REMOTE_ADDR']){
    session_unset();
    session_destroy();  
}

答案 1

如果用户的 IP 地址发生更改,此代码将删除会话(注销)。

因此,用户可以从任何IP地址登录,但如果它发生变化,它将被注销。

这可以防止会话劫持,但如果您使用的是动态IP,则效果不佳,因为您的IP会不断变化。


答案 2

确实如此。如果用户的 IP 发生更改,他将被注销。尽管攻击者如果知道IP,他仍然可以模仿它,因此它并不完全安全。请查看以下页面,了解有关如何防止会话劫持的更多信息:

我也强烈推荐Chris Shiflett。他关于会话劫持的文章可以在这里找到:

http://shiflett.org/articles/session-hijacking


推荐