拙劣的PHP代码简化
复制代码代码如下所示:<
回声(查询的搜索结果)。
_get美元'query'} {。;
>
这段代码的主要问题是,它显示提交由用户直接到网页数据,导致XSS漏洞。有许多方法来填这个窟窿。所以,我们想要什么代码呢
复制代码代码如下所示:
<
回声(查询的搜索结果)。
htmlspecialchars($ _get { 'query})。;
>
这是最低的要求。XSS漏洞充满htmlspecialchars函数,屏蔽非法字符。
复制代码代码如下所示:
< PHP
如果(isset($ _get { 'query ' }))
echo'search结果查询:',
htmlspecialchars($ _get { 'query},ent_quotes);
>
能写出这样代码的人应该是我想雇佣的人。
*已被< PHP >取代,它更符合XML规范。
*确定它是否是空的前_get美元'query'} {值输出。
命令中的额外括号已被删除。
*字符串受单个引号的限制,从而节省了PHP从字符串中搜索可替换变量的时间。
*它用逗号代替一个周期来节省回声时间。
*通过ent_quotes标识符的htmlspecialchars函数,使单引号也会逃跑。虽然这不是最重要的,但它也是一个好习惯。