I read that you do not need to validate or sanitize user's input。如果您使用准备好的语句,请了解用于准备语句的用户数据的验证
这在下面的例子中对我没有意义。
用户给他的电子邮件地址。
我通常运行此
输入验证码
// to validate data
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
header("Location: index.php");
die("Wrong email-address");
}
声明说,我们并不需要,如果我们使用准备好的语句来验证数据,如下
代码,而不验证码
// to get email-address nad passhash from the db
$result = pg_prepare($dbconn, "query2", 'SELECT email, passhash_md5
FROM users WHERE email = $1
AND passhash_md5 = $2;');
$result = pg_execute($dbconn, "query2", array($_POST['email'], $_POST['password']));
if(!$result) {
echo "An error occurred";
exit;
}
由于我们使用pg_prepare
和pg_execute
,因此我不确定是否需要验证码或最后一个代码。
如果您使用准备好的语句,您是否需要考虑验证和消毒用户的输入?
谢谢你的回答! – 2009-08-08 03:36:11