我有安全的网站登录,然后任何人都可以进入该网站并提交任何表格数据。从SQL注入到这是否足够安全?
答案 0 :(得分:1)
NO!
它使它变得脆弱(如果没有正确完成。在登录后一切都很脆弱。)
由于黑客可以使用该表单来注入sql。
登录!= slq注射保护。
清理用户输入是。
使用例如:
mysql_real_escape_string()
mysqli_real_escape_string()
pdo's prepared statements
答案 1 :(得分:1)
SQL注入与身份验证无关;它与您清理用户输入的方式有关。换句话说,具有完美良好凭据的用户可能有不良意图,并决定通过在您的某些表单字段中输入恶意文本来尝试删除您的数据库。
在PHP上,您可以使用mysql_real_escape_string()
来清理输入并通过字符串连接形成SQL语句,但是如果您可以更好地实现prepared statements(也称为参数化查询),因为您的查询计划可能重复使用,你也可以获得性能提升。
答案 2 :(得分:0)
如果用户在登录表单上使用sql注入,则不会。登录表单如何工作。如果它使用select进行检查,那么你仍然需要删除糟糕的SQL等。
答案 3 :(得分:0)
在你的术语中它是一个Grandfather Paradox,如果你的登录确实为sql注入提供了保护,那么在登录页面上用户没有登录。顺便说一下,授权/认证和sql注入都是无关的事情,所以你的答案是否。