我有一个在输入字段中包含html实体的表单,如:
<input type="hidden" name="foo" value="<?php htmlspecialchars($foo) ?>" />
如果$foo
接收&#34; <b>foo</b>
&#34;之类的值,那么当表单发布到PHP脚本时, $_POST['foo']
的值已经被解码了...这是否意味着我不需要使用htmlspecialchars_decode
将$_POST['foo']
转换回其原始格式$foo
?
感谢您对此问题的任何意见。
答案 0 :(得分:1)
当涉及到用户输入时,代码非常具有防御性。永远不要做任何假设。虽然初始状态可能由服务器设置,但没有什么能阻止某人将隐藏输入的值操纵为恶意值。在这一点上,你负责任地处理这个价值,所以请确保你涵盖任何可能的情况。