【发布时间】:2017-06-12 15:38:06
【问题描述】:
当用户第一次在我的网站上创建帐户时,他们输入了他们的用户名和密码,这些都是通过准备好的语句放置以防止 SQL 注入。但稍后我将从数据库中获取用户名并在查询中使用它。这仍然让我容易受到攻击吗?我是否也需要为此查询使用准备好的语句?我是否需要对数据库中所有用户输入的信息使用准备好的语句,即使它在第一次输入时已经通过了准备好的语句?是否可以假设在首次输入时通过准备好的语句放置的所有数据都是安全的?
【问题讨论】:
-
是否有理由避免使用准备好的语句?它只是多了几个字符/几行代码,并保持您的编码一致。
-
没有,我只是好奇数据是否仍然危险。
-
是的,可以。
sam' or 1=1的用户名可能会导致查询出现问题。甚至只是o'riely可能会导致问题。
标签: php security mysqli sql-injection