为了提高登录用户的安全性,在session_start();
之后并分配其他会话变量,我还尝试使用{{1来存储 HTTP_USER_AGENT 值{}}页面。{/ p>
此外,在$_SESSION['agent'] = md5($_SERVER['HTTP_USER_AGENT']);
页面中,我将登录用户重定向到主页,如果他们尝试再次访问它而不先将注销 ,使用这样的条件:
login.php
问题是在我的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
页面,它仍然将我重定向到主页。
然后我尝试删除FF浏览器中的cookie,关闭它,然后重新访问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.
}
页面,它仍然重定向我。
你知道我错了什么或错过了吗?
注意:如果没有存储** HTTP_USER_AGENT
,我就没有问题可以销毁会话答案 0 :(得分:1)
您有一个要检查的作业。
变化:
var total = db.PaiementSet.Sum(o => (Decimal?)o.amount) ?? 0M;
到
if (isset($_SESSION['agent']) OR ($_SESSION['agent'] = md5($_SERVER['HTTP_USER_AGENT']) ) ) {
关闭主题安全提示(可能有帮助):
if (isset($_SESSION['agent']) OR ($_SESSION['agent'] == md5($_SERVER['HTTP_USER_AGENT']) ) ) {