我使用php 5.4.4作为UTF-8运行,我不确定我是否正确使用htmlspecialchars。
我的字符串/ vars看起来像这样:
$text = "<p><span class='clx'>By:</span> ".htmlspecialchars($foo)."</span></p>";
echo $text;
我是否需要使用ENT_QUOTES
,或者只有当我必须回应某些内容时才需要
内部例如:href="$foo" or id='$foo'
?
Atm,om只在封闭的html标签内使用htmlspecialchars而不是属性。
只需在<p>
代码和</p>
代码中连接字符串内的var
由于
答案 0 :(得分:5)
从数据库中获取数据并将其插入html元素时,通常应该使用它。这样,数据引用不会关闭引号并弄乱html。
答案 1 :(得分:5)
简短回答:永远。
答案很长:我强烈建议您阅读OWASP的PHP Top 5和PHP Security Cheat Sheet
OWASP Top 5涵盖了今天困扰PHP的五个最严重和最常见的安全漏洞:
它演示了常见的错误和解决方案,对于任何PHP开发人员来说都非常值得一读,甚至考虑托管一个实时网站。