2011-08-26 85 views
1

我有一個正在通過php會話進行身份驗證的登錄系統。我的客戶說現在登錄失敗了,我已經把網站移到了新的服務器上。但只有當他使用IE 8時,我一直無法複製這些問題。已知的IE 8 PHP會話問題?

更令人感到奇怪的是,它在以前的主機上都能正常工作。無論是瀏覽器問題,服務器更改還是其他任何問題,我都會感到茫然。

是否有任何已知問題?我認爲這可能是一個標題(「位置:」)問題,但它似乎正在處理前一個主機。

任何幫助表示讚賞

登錄代碼是這樣的(它使我回客戶端的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"); 
?> 
+0

。沒有足夠的細節,不可能說出什麼是錯的。會話cookie是否工作?它的設置是否正確?由於某種原因,IE8的保護機制是否認爲你的服務器是惡意軟件主機?等等等等...... –

+0

如果您無法在IE8中複製該問題,則不存在問題。告訴你的客戶更具體一些,或給你一些截圖。 – Luwe

+0

感謝您的意見。您的更多信息是關鍵。我在這一天的大部分時間都在處理這個問題,當我發佈這個消息的時候,我剛剛達到了求救的目的,並沒有花時間去應對。給我一秒我會編輯 – Somk

回答

1

是,IE8有這個問題,會話cookie,使用重定向尤其是當嘗試把啓動會話session_set_cookie_params(0);之前 - 這將確保會話cookie不會過期,直到關閉瀏覽器