-1
为了增加对安全登录的用户,session_start();
和分配其他会话变量后,我也尝试着存储HTTP_USER_AGENT值,使用$_SESSION['agent'] = md5($_SERVER['HTTP_USER_AGENT']);
为login.php
页。如何删除HTTP_USER_AGENT的会议
此外,在login.php
页,我重定向登录用户到主页,如果他们试图不再次访问它首测出来,使用条件是这样的:
if (isset($_SESSION['agent']) OR ($_SESSION['agent'] = md5($_SERVER['HTTP_USER_AGENT']))) {
//redirect to home page
header('location:http://index.php.com');
exit();
}
的问题是,在我logout.php
页我的代码的条件是这样的:
if (!isset($_SESSION['agent']) OR ($_SESSION['agent'] != md5($_SERVER['HTTP_USER_AGENT']))) {
//Redirect to home page
}else{
$_SESSION = array(); // Destroy the variables.
session_destroy(); // Destroy the session itself.
setcookie (session_name(), '', time()-3600); // Destroy the cookie.
}
然后我又回来访问login.php
页面作为登录用户(会话已设置),它仍然将我重定向到主页。
然后我尝试删除FF浏览器中的cookies,关闭它,然后重新访问login.php
页面,它仍然重定向了我。
你知道我错了或失踪了吗?
注:我没有问题,摧毁了会议如果没有存储**的HTTP_USER_AGENT
变化 如果(isset($ _ SESSION [ '代理'] )OR($ _SESSION ['agent'] = md5($ _ SERVER ['HTTP_USER_AGENT']))) 到 如果(isset($ _ SESSION [ '代理'])OR($ _SESSION [ '代理'] == MD5($ _ SERVER [ 'HTTP_USER_AGENT']))) – Firewizz
在您的login.php我想你令人困惑的是设置一个变量('=')并比较一个变量('==')。 – Eborbob
请注意,任何人如何捕获会话ID还可以访问包括用户代理在内的所有其他头文件。这不会提高安全性。 – johannes