有没有办法从这个网站获取一些机密数据?

时间:2012-03-06 10:12:58

标签: php html sql code-injection

在我和我的朋友网站上是带有登录文本框的表单。如果登录不存在,则出现错误 "Error occurred. 151SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected"
如果我输入无效登录+某些sql(例如"iu7' or '1=1'--"),它不会显示任何数据,也不会显示任何错误 这种形式安全吗?是否可以输入有效的login + sql来切换登录结果中的密码?你觉得怎么样?

2 个答案:

答案 0 :(得分:2)

在提交查询之前,您应始终使用mysql_real_escape_string($_POST['...'])转义输入值。这样,你输入的任何字符串都应该是安全的。

我不认为SO上的人会帮助你注入其他网站,所以我现在要说的就是。

答案 1 :(得分:2)

这取决于您如何使用发布的数据构建S​​QL命令。如果您只是从值中构建字符串,那么您将面临SQL注入攻击的风险。

看一下这篇文章:

http://php.net/manual/en/pdo.prepared-statements.php

它解释了如何在PHP中构建预准备语句,这将防止SQL注入。