sql注入-从何而来


sql injection - where from

我目前正在处理一个网络项目,该项目正在被垃圾邮件(评论框)。

我知道一些关于sql注入的知识,我尝试过转义(mysql_real_escape_string),这些数据可能会"损害"数据库。

但没有成功。

我也试着在网站上隐藏所有的表格,但数据库(评论框)不断收到垃圾邮件。

数据不是直接通过url(get或post)发送的。所以我不知道还有什么问题。知道吗?

编辑

表单中的文本区域(您的评论)未发布。该表单当前已被删除,垃圾邮件仍在继续。因此,因为没有按下"发送"按钮,所以不能选择captcha。评论仅适用于登录用户

谢谢,Sebastian

mysql_real_eescape_string无论如何都不能防止注射
它的名字中没有"注射"、"伤害"、"保护"或任何词
此函数仅执行字符串格式设置。尽管格式正确的字符串是无懈可击的,但还有其他类型需要自己的格式,而字符串格式对它们来说是无用的。

至于垃圾邮件,制作一个愚蠢的蜜罐:
添加一个名为"city"的字段。并告诉人们不要填写
一旦它被填满——它是一个机器人,就默默地放弃消息(不要写"Gotcha"、"你是机器人"之类的愚蠢横幅)。只是不要保存并保持其余的不变

回答编辑后的问题:

表单中的文本区域(您的评论)未发布。该表单当前已被删除,垃圾邮件仍在继续。

:)
同时禁用表单处理程序
发表评论不需要表格。这是一个实际完成所有工作的形式动作脚本。您可以保留表单,但要禁用过帐,您必须禁用处理程序代码