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