假设我有这样的代码:
$dbh = new PDO("blahblah");
$stmt = $dbh->prepare('SELECT * FROM users where username = :username');
$stmt->execute( array(':username' => $_REQUEST['username']) );
PDO留档说:
预准备语句的参数不需要引用;驱动程序会为您处理它。
这真的是我需要做的所有事情来避免SQL注射吗?真的那么容易吗?
如果MySQL有所不同,您可以假设它。此外,我真的只对使用准备好的语句来反对SQL注入感到好奇。在这种情况下,我不在乎XSS或其他可能的漏洞。