我做了一個網站,我只顯示來自我的數據庫表的項目,我將變量從一個頁面傳遞給另一個顯示某些項目,沒有添加,刪除或編輯我的表格項目在我的網站只是顯示信息。我是否從sql注入保護我的網站?
$aaa = _POST['aaa'];
$databasehost = "localhost";
$databasename = "mydb";
$databaseusername = "user";
$databasepassword = "password";
// Connect to the database server
$dbcnx = @mysql_connect($databasehost, $databaseusername, $databasepassword);
if (!$dbcnx) {
echo("<font color='red'><P>can't connect to server.</P></font>");
exit();
}
// Select the database
if (! @mysql_select_db($databasename)) {
echo("<font color='red'><P>can't connect to db </P></font>");
exit();
}
$aaa = mysql_real_escape_string($aaa)
// and with $aaa I do my query
我已閱讀,保護我的變量與mysql_real_escape_string()我停止任何注射到我的查詢的,但我覺得容易有:
$databasehost = "localhost";
$databasename = "mydb";
$databaseusername = "user";
$databasepassword = "password";
我只是偏執或者是有辦法保護這個連接到y服務器和數據庫的信息?
請不要使用'mysql_ *'函數編寫新代碼。他們不再被維護,社區已經開始[棄用流程](http://goo.gl/q0gwD)。看到[紅色框](http://goo.gl/OWwr2)?相反,您應該瞭解[準備好的語句](http://goo.gl/orrj0)並使用[PDO](http://goo.gl/TD3xh)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/YXyWL)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/b2ATO)。另請參閱[爲什麼我不應該在PHP中使用mysql函數?](http://goo.gl/J5jAo) – Daedalus
上面是一個罐頭響應,但我相信它適用於您的問題。 – Daedalus
這行'$ aaa = _POST ['aaa']'是保護任何人使用您的網站。 – alex