我正在开发一个表单,允许用户在提交到数据库的字符串中使用非法/特殊字符。我想对字符串中的这些字符进行转义/取反,并且一直在使用htmlspecialchars()。然而,有没有更好/更快的方法呢?
发布于 2010-06-08 04:50:23
首先,您应该在显示时进行清理,而不是在插入到数据库之前。SQL注入是另一回事,但可能离题了。
其次,如果你根本不需要你的用户能够发布超文本标记语言,那么htmlspecialchars
就是你所需要的。它负责处理HTML中的所有特殊字符。
发布于 2010-06-08 04:49:49
这不是你想要自己解决的问题。有一些库可以为您做到这一点,比如HTML Purifier。
发布于 2010-06-08 04:51:59
您还没有说明这些非法字符可能是什么,但是您肯定应该使用数据库API提供的机制来转义数据。例如,如果您使用的是MySQL,那么就使用PDO参数化的SQL语句。
https://stackoverflow.com/questions/2993027
复制相似问题