这个问题一直在我脑海中演变,我如何完全阻止用户输入一些疯狂的SQL注入。是不是mysql_real_escape_string强大到足以阻止它?我遵循了一些指导原则,虽然有些用户在这里批评我的代码,并为我的安全性给了我大拇指。我无法理解它背后的原因。虽然我没有使用$ _GET,但唯一的用户输入是通过评论系统。我只是想确保我不会出错。这里是我的示例代码。帮助我阻止用户输入有害代码
$name = htmlspecialchars(strip_tags(mysql_real_escape_string($_POST['com_name'])));
我对5个字段使用了相同的内容。你对我的上面的代码有什么看法?
我不希望我的用户输入任何html或javascript代码,它应该只是这个项目的普通文本。你不觉得我的代码正在照顾它吗? – 2010-09-11 09:05:59
您的通用代码应允许用户将任何(有效)数据插入到数据库中。如果你需要额外的过滤,那么你应该在单独的验证阶段进行,而不是在数据库中输入。 – Quamis 2010-09-11 09:33:08
@Quamis我想这就是我正在做的,我先过滤代码,然后将它传递给数据库,我从来没有将它直接传递给数据库。纠正我,如果我错了。 – 2010-09-11 09:47:56