已知的IE 8 PHP Session问题


Known IE 8 PHP Session issue?

我有一个通过php会话进行身份验证的登录系统。我的客户端说登录失败,现在我已经将网站移动到一个新的服务器。但只有当他使用ie8时。我无法复制这些问题。

更奇怪的是,这一切都在前一个主机上工作。我不知道这是浏览器问题,服务器更改还是其他任何问题。

有什么已知的问题吗?我认为这可能是一个头("location: ")问题,但它似乎是在以前的主机上工作。

感谢您的帮助

登录代码是这样的(它不断返回我的客户端到index.php?无效,即使他说他正在输入正确的登录详细信息,我也可以访问,没有问题。

<?php
require('includes/functions.php');
require('includes/db.php');
$user=clean($_POST[user]);
$pass=clean($_POST[pass]);
$qry="SELECT id FROM table WHERE userfield='$user' 
AND passwordfield='".md5($pass)."'";
$result=mysql_query($qry);
if(mysql_num_rows($result)>0) {
    //Login Successful
    //Regenerate session ID to
    //prevent session fixation attacks
    session_start();
    session_regenerate_id();
    $result=mysql_fetch_assoc($result);
    $_SESSION['USER']=$result['id'];
    //Write session to disc
    session_write_close();
    header("location: success.php");
    exit();
}
    header("location: index.php?invalid");
?>

是的,IE8在会话cookie上有这个问题,特别是在使用重定向时。尝试在开始会话之前放置session_set_cookie_params(0); -这将确保会话cookie在浏览器关闭之前不会过期。