[英]PHP prevent HTML in form text field?
我有一个文本表单字段,供我输入注释的用户使用。 然后,我使用PHP / MySQL数据库存储这些条目。 如何防止他人在文本字段中输入HTML?
您可能正在寻找strip_tags
不要对文本做任何事情,只要在输入文本时将其存储即可。
原因是您可能要添加看起来像html但实际上不是的内容。 例如
我正在更新该网站,并且不得不添加一些<br>标签,以使内容向下移动。
shuold要做的是将内容存储在数据库中,以确保出于SQL注入目的转义数据,然后在输出到浏览器时,应使用htmlentites进行转义,如下所示:
<div id="notes">
<?php echo htmlentities($row['note']) ?>
</div>
这样,html标签不会对实际的DOM产生任何影响,因为实际的DOM逃脱了,因此DOM中所需的输出应如下所示:
我正在更新站点,并且不得不添加一些
< br >
< br >
标签以使内容向下移动。
并且用户实际上会看到<br>
为纯文本
希望这可以帮助。
如果您打算还将数据存储在数据库中,则需要使用mysql_real_escape_string()清除输入,以防止SQL注入(http://en.wikipedia.org/wiki/SQL_injection)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.