提问人:Jeff 提问时间:9/23/2009 最后编辑:Jeff 更新时间:9/23/2009 访问量:1067
PHP $_SERVER['HTTP_HOST'] 转义,这看起来可以接受吗?
PHP $_SERVER['HTTP_HOST'] escaping, does this look acceptable?
问:
我刚刚在学习如何逃避事物,并开始阅读有关由于 XSS 攻击而使用起来如何存在风险的信息。$_SERVER['HTTP_HOST']
我想出了这个,想知道我是否可以得到一些关于我的尝试的反馈。
htmlspecialchars(
filter_var( $_SERVER[ 'HTTP_HOST' ], FILTER_SANITIZE_URL ),
ENT_QUOTES, 'UTF-8'
)
看起来还好吗?
很大程度上取决于这个变量是否安全,我只需要询问输入。
编辑:
我将使用它在整个站点中显示,包括基本的锚点、表单操作等。
答:
3赞
erenon
9/23/2009
#1
这取决于你想用什么。如果要显示它,请使用 htmlspecialchars。如果要用作数据库查询,则可以在mysql的情况下使用mysql_real_escape_string。(或准备好的发言稿)
3赞
Annika Backstrom
9/23/2009
#2
不同的情况应使用不同的转义函数,例如:
urlencode
表示将在标记的查询字符串中放置的项目,即。 (另见http_build_query
<a>
echo '<a href="index.php?foo=' . urlencode($foo) . '">';
)mysql_real_escape_string
用于SQL语句中的变量(尽管我更喜欢绑定变量)- 要向用户显示的字符串的
html实体
,其中可能包含 HTML(另请参阅strip_tags
)
评论