PHP $ _SERVER ['HTTP_HOST']转义,这看起来可以接受吗?

时间:2009-09-22 19:32:50

标签: php escaping

我正在学习逃避的事情,并开始阅读由于XSS攻击而使用$_SERVER['HTTP_HOST']会有什么风险。

我想出了这个,并想知道我是否能得到一些关于我的尝试的反馈。

htmlspecialchars(
    filter_var( $_SERVER[ 'HTTP_HOST' ], FILTER_SANITIZE_URL ),
    ENT_QUOTES, 'UTF-8'
)

看起来不错吗?

在很大程度上取决于这个变量是安全的,我只需要输入。

修改

我将在整个网站上使用它进行显示,包括基本的锚点hrefs,表单操作等。

2 个答案:

答案 0 :(得分:3)

这取决于你想要用什么。如果要显示它,请使用htmlspecialchars。如果要将其用作数据库查询,则可以在mysql的情况下使用mysql_real_escape_string。 (或准备好的陈述)

答案 1 :(得分:3)

不同的转义函数应该用于不同的情况,例如: