我正在学习逃避的事情,并开始阅读由于XSS攻击而使用$_SERVER [‘HTTP_HOST’]会有多大风险.
我想出了这个,并想知道我是否可以得到一些关于我的尝试的反馈.
htmlspecialchars(
filter_var( $_SERVER[ 'HTTP_HOST' ], FILTER_SANITIZE_URL ),
ENT_QUOTES, 'UTF-8'
)
看起来好吗?
这么多取决于这个变量是安全的,我只需要求输入.
编辑:
我将在整个网站上使用它进行显示,包括基本的锚点hrefs,表单动作等.
解决方法:
不同的转义函数应该用于不同的情况,例如:
> urlencode
表示将在< a>中的查询字符串中删除的项目标签,即. echo’< a href =“index.php?foo ='.urlencode($foo).'”>‘; (另见http_build_query
)
> mysql_real_escape_string
变量进入SQL语句(虽然我更喜欢绑定变量)
> htmlentities
表示您想要显示给用户的字符串,其中可能包含HTML(另请参阅strip_tags
)