【发布时间】:2011-08-05 00:48:08
【问题描述】:
PHP_SELF 在包含echo $_SERVER['PHP_SELF'] 之类的代码时会打开一个页面来进行XSS 攻击,但是SCRIPT_NAME 呢?由于它不包含路径信息,因此可以安全使用吗?我知道你可以使用htmlentities 和其他类似的函数来清理,但我宁愿避免额外的函数调用。
我很确定它可以安全使用,但我希望 SO 社区能放心:)
【问题讨论】:
PHP_SELF 在包含echo $_SERVER['PHP_SELF'] 之类的代码时会打开一个页面来进行XSS 攻击,但是SCRIPT_NAME 呢?由于它不包含路径信息,因此可以安全使用吗?我知道你可以使用htmlentities 和其他类似的函数来清理,但我宁愿避免额外的函数调用。
我很确定它可以安全使用,但我希望 SO 社区能放心:)
【问题讨论】:
作为一种好的做法,您应该始终防止来自 $_SERVER、$_GET、$_POST 等的任何变量。
$str = filter_var($input, FILTER_SANITIZE_STRING);
清理字符串的简单方法,或者您可以使用 htmlentities。我创建了一个类,用于从 $_SERVER、$_GET 和 $_POST 返回任何变量。
【讨论】: