我知道我應該使用準備好的語句,但我的下一個項目將使用準備好的語句,我只需要完成這個簡單的小應用程序。這個php代碼安全嗎?
所以我的問題是:
這是下面的代碼段的安全嗎?
我已經使用htmlentities和mysql_real_escape_string,因爲我認爲這是一個安全的選項。
//Image
$imageInput = $_POST['Image'];
$imageClean = htmlentities($imageInput, ENT_QUOTES, 'UTF-8');
//Inserts values into relevant field and creates a new row.
mysql_query("UPDATE ***** SET image='" . mysql_real_escape_string($imageClean) . "' WHERE id=" . mysql_real_escape_string($idClean) . "");
添加代碼爲$ idClean是:
//Id to change
if(ctype_digit($_POST['testimonial']))
{
$idInput = $_POST['testmonial'];
$idClean = htmlentities($idInput, ENT_QUTOES, 'UTF-8');
}
感謝您的幫助。
p.s如果你可以建議一些補充,那就太好了。
認爲當$ idclean會發生什麼=「1或1 = 1」 – Piskvor 2010-02-25 10:19:09
&Piskvor我應該使用if(cytpe_digit)作爲$ idClean嗎? – 2010-02-25 10:23:14
@Oliver Bayes-Shelton:假設'id'是一個整數,我會去(int)$ idClean – Piskvor 2010-02-25 10:24:31