会话固定,还是register_globals关闭的问题?

时间:2013-05-01 17:05:34

标签: php session-fixation register-globals

我一直在阅读一些关于PHP安全性的文章,我看到了这篇文章:
http://shiflett.org/articles/session-fixation

本文介绍了可以通过在url请求中传递PHPSESSID变量(例如?PHPSESSID=1234)来轻松修复会话。但是,当$_GET设置为$_SESSION时,PHP会将$GLOBALSregister_globalsoff视为不同类型的变量,这是我的理解(请纠正我,如果我错了) php.ini中的?PHPSESSID=1234,因此在url请求中使用session_start(); if (!isset($_SESSION['count'])) { $_SESSION['count'] = 0; } else { $_SESSION['count']++; } echo $_SESSION['count']; 不应该产生此问题。

我测试了以下脚本:

register_globals

但我似乎无法在我的服务器上重现会话的固定,我认为这是因为我在php.ini中将off设置为{{1}}。 我错了吗?
知道这一点似乎很重要。

1 个答案:

答案 0 :(得分:1)

有一个单独的php配置选项,我认为是session.use_trans_sid,它允许通过url传递会话,无论register_global设置如何。