有幾個人一直告訴我,我的mysqli查詢中更新數據的代碼非常不安全。其實,這個網站上有好幾個人。所以我想知道他們說什麼會確保我的代碼在下面,所以更新我的數據庫時是安全的。我想知道如何確保我的mysqli查詢。用於更新MySQLI的代碼PHP
好吧,我爲我的數據庫條目的代碼,這是我做的。首先讓我說,我總是通過POST方法發送,以避免瀏覽器URL複雜化。
當我POST數據,這是我的代碼。
$ID = 1;
$DATA = htmlentities(addslashes($_POST['data']));
$FIELD = "lifename";
$DBQUERY = "UPDATE `lifetable` SET `$FIELD` = '$DATA' WHERE `id` = $ID";
$DBRESULT = $MYSQLI->query($DBQUERY);
我目前在我的本地網站上使用了此功能。
這是怎麼不安全的,如果我逃脫了所有的報價,所有的斜線,(通過Ajax從JavaScript)的所有&號和所有半冒號?這是如何扭轉的?
所以,你能告訴我到我的數據庫添加信息時,我應該改變。
感謝
PS ...我使用的mysqli,並會繼續使用它。由於
嘗試爲數據庫查詢使用PDO語句。那麼你是在保存方面。 http://php.net/manual/en/intro.pdo.php – Jurik
http://forums.mysql.com/read.php?52,227585,227585請閱讀這篇文章,你可能會因爲其良好的文摘數據庫的查詢,而不是供應商的特定功能mysql或者mysqli的 – gvgvgvijayan
有一個辦法,以確保該mysqli的PDO使用後獲得不錯的主意,所以你甚至從來沒有接近我的回答問題,我的問題具體說mysqli。我在問如何讓我的mysqli語句更安全。 –