PHP __PHP_Incomplete_Class 对象,其中包含我的 $_SESSION 数据
我有一个站点设置,在页面加载时,将所有用户提交的字符串转换为SafeString对象。对于那些不熟悉SafeString的人来说,它基本上迫使用户回显出经过清理的数据,以防止XSS等等。
无论如何,有一个问题。我的 $_SESSION 数组正在填充 .根据我所读到的内容,这是由于在会话之前没有初始化类,然后在会话中存储类对象。__PHP_Incomplete_Class Object
这是我的代码:
require_once __WEBROOT__ . '/includes/safestring.class.php';
$temp = array
(
&$_SERVER, &$_GET, &$_POST, &$_COOKIE,
&$_SESSION, &$_ENV, &$_REQUEST, &$_FILES,
&$HTTP_SERVER_VARS, &$HTTP_GET_VARS,
&$HTTP_POST_VARS, &$HTTP_COOKIE_VARS,
&$HTTP_POST_FILES, &$HTTP_ENV_VARS
);
function StringsToSafeString(&$array)
{
foreach ($array as $key => $value)
{
if (is_string($array[$key]))
{
$array[$key] = new SafeString($value);
}
if (is_array($array[$key]))
{
StringsToSafeString($array[$key]);
}
}
}
StringsToSafeString($temp);
unset($temp);
我想不出一种方法来重写这个问题,可以解决这个问题:/
有什么想法吗?