如何在PHP中正确地转义html表单input默认值?
鉴于以下两个HTML / PHP代码片段:
<input type="text" name="firstname" value="<?php echo $_POST['firstname']; ?>" />
和
<textarea name="content"><?php echo $_POST['content']; ?></textarea>
什么字符编码我需要使用回显的$_POST
variables? 我可以使用任何内置的PHP函数吗? 请假定$_POST
值尚未被编码。 没有魔法没有引号。
使用htmlspecialchars($_POST['firstname'])
和htmlspecialchars($_POST['content'])
。
总是使用htmlspecialchars()
string转义给用户。
但是,htmlspecialchars()不会帮你value='single quotes'
这是发生了什么事情:
value='We're not using this in our "code"...'
你看到的只是We
htmlspecialchars将在两种情况下工作。 查看不同的标志选项以避免引号在input
情况下成为问题。