我正在我的网站上设置评论系统,我想知道这是否保存。我使用PHP和MySQL。 - 不要使用下面的代码,这是非常不安全的 -
制作新评论:
阅读评论:
系统应该可以防止HTML操作和MySQL注入。还有我不知道的所有其他讨厌的东西。我做得对吗?
加分问题:我应该在MySQL表格中使用什么排序规则进行$注释?
编辑:哇我认为我的问题不会导致这个大讨论。谢谢你的所有答案:)
答案 0 :(得分:10)
考虑从一开始就切换到预备语句: - )
他们现在可能看起来有点过头了,但是你可以安全地担心逃避它所支付的每一个参数。
这是一个很好的教程:http://www.kitebird.com/articles/php-pdo.html。
在打印出用户定义的内容时,您仍然需要使用htmlspecialchars
来解释XSS的漏洞。
答案 1 :(得分:-5)
使用mysql_real_escape_string
(或您的图书馆附带的任何转义功能)代替addslashes
。
不要使用stripslashes
,因为它们已被MySQL解析而被删除,并且您冒着在输入中删除合法反斜杠的风险。
对于整理,请使用您喜欢的任何内容。我更喜欢latin_general_ci
,但如果你想要unicode,你应该使用兼容UTF8的排序规则。