我有一个用户输入注释的文本表单字段。然后我使用PHP / MySQL数据库来存储这些条目。如何阻止某人将HTML输入文本字段?
答案 0 :(得分:6)
您可能正在寻找strip_tags
答案 1 :(得分:5)
不要对文字做任何事情,只需在输入时存储即可。
原因是,您可能要添加看起来像html但实际上不是的内容。例如
我正在更新网站错误,我不得不添加一些< br>标记让内容向下移动。
你所做的是将内容存储在数据库中,确保你为了SQL注入目的而逃避数据,然后在输出到浏览器时你应该使用htmlentites这样的内容来逃避:
<div id="notes">
<?php echo htmlentities($row['note']) ?>
</div>
这样,html标签对实际DOM没有任何影响,因为转义时,DOM中所需的输出应该如下所示:
我正在更新网站错误,我不得不添加一些
< br >
标签,让内容随时移动。
并且用户实际上会将<br>
视为纯文本
希望这有帮助。
答案 2 :(得分:0)
如果您计划将数据存储在数据库中,则需要使用mysql_real_escape_string()清除输入以防止SQL注入(http://en.wikipedia.org/wiki/SQL_injection)
答案 3 :(得分:0)