【发布时间】:2011-08-06 08:54:27
【问题描述】:
是否需要对用户数据执行任何转义例程才能在 PHP 的 header() 函数中使用它?
例如,对于 MySQL,我在将用户数据发送到数据库之前对用户数据运行 mysql_real_escape_string(),对于 HTML 输出,我运行 htmlspecialchars()... 两者都包含在我自己的自定义函数中,以便首先进行一些其他处理。
但是对于 PHP 的 header() 函数,需要做什么呢?有什么危险人物需要逃跑吗?
我正在尝试做这样的事情...将查询字符串附加到 header() 重定向到不同的页面
if ( strlen($_SERVER['QUERY_STRING']) > 0) {
$query_string = '?'.$_SERVER['QUERY_STRING'];
}
header('Location: http://domain.com/activate.php'.$query_string);
exit();
有人知道 header() 函数需要转义的内容吗?冒号和分号字符对于 header() 语句似乎总是很重要。我应该逃避那些吗?
【问题讨论】:
-
@Carlos: 自 PHP 5.1.2 起受核心保护(但值得注意)...
-
@ircmaxell 很高兴知道这一点:)
标签: php header http-headers sanitization