【发布时间】:2015-09-06 04:05:51
【问题描述】:
我很困惑,或者更确切地说,我对 pdo 准备好的语句感到非常困惑。我知道准备好的语句是保护数据免受黑客攻击的最佳方式。
发件人:How can prepared statements protect from SQL injection attacks?
我们首先将程序发送到服务器
$db->prepare("SELECT * FROM users where id=?");数据在哪里 替换为一些称为“占位符”的变量。
请注意,发送到服务器的查询是相同的,没有任何 里面的数据!然后我们用第二个请求发送数据, 与查询本身完全分离:
$db->执行($data);
查询-
$query=$db->prepare("SELECT * FROM USERS WHERE username=?");
$query->execute(array($tex));
$tex=blah; DROP TABLE users;--
然后它会像 - SELECT * FROM USERS WHERE username=blah; DROP TABLE 用户;--
prepare 语句将如何帮助我处理上面的这个例子?
如果这个问题理解模糊,我真的很抱歉。任何帮助,将不胜感激。提前致谢。
【问题讨论】: