如何删除HTTP_USER_AGENT

时间:2016-02-16 11:31:58

标签: php session

为了提高登录用户的安全性,在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

,我就没有问题可以销毁会话

1 个答案:

答案 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']) ) ) {