我读了一篇关于在输出上转义数据的好文章,其中有一个例外,它告诉你何时需要转义输出数据而不是在哪里使用。
规则是
< > &
< > & " '
前两个我理解并有解决方案。
因此,从具有此逻辑的$_GET
变量开始,它将如下所示
如果在代码之间插入:
$name = filter_input(INPUT_GET, 'name', FILTER_SANITIZE_STRING);
echo 'Hi '. htmlspecialchars($name, ENT_NOQUOTES, 'UTF-8');
或
$name = filter_input(INPUT_GET, 'name', FILTER_SANITIZE_STRING);
echo 'Hi '. htmlspecialchars($name, ENT_COMPAT, 'UTF-8');
如果插入属性:
<img src="<?php echo htmlspecialchars($img_path, ENT_COMPAT, 'UTF-8')">
如果前两个是正确的,那么第三个就会出现在列表中,那个让我感到困惑。对这个有点帮助吗?