2013-05-01 38 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设置如何。