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

我正在学习逃避的事情,并开始阅读由于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)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...