2013-05-01 40 views
0

我一直在閱讀到關於PHP安全一些文章,我碰到這個文章就來了:
http://shiflett.org/articles/session-fixation會話固定,關閉register_globals仍然是一個問題?

本文介紹了一個可以很容易地通過傳遞URL請求PHPSESSID變量(例如固定會話?PHPSESSID=1234)。然而,當我在PHP.ini中將register_globals設置爲off並且因此在url請求中使用?PHPSESSID=1234時,PHP將$_GET,$_SESSION$GLOBALS作爲不同類型的變量,這是我的理解(如果我錯了,請糾正我)產生這個問題。

我已經測試了下面的腳本:

session_start(); 

if (!isset($_SESSION['count'])) 
{ 
    $_SESSION['count'] = 0; 
} 
else 
{ 
    $_SESSION['count']++; 
} 

echo $_SESSION['count']; 

但我似乎無法重現的會話固定我的服務器上,而我以爲這是因爲我有register_globals設置爲off在我的PHP。 INI。
我錯了嗎?
確實很重要。

回答

1

有一個單獨的PHP配置選項,我認爲session.use_trans_sid,允許會話通過url傳遞,無論register_global設置如何。