2015-07-19 69 views
0

我希望我的網站允許用戶使用下拉菜單來篩選MySQL提供的數據列表。從下拉菜單中的選項以下列方式使用:下拉菜單是否存在MySQL注入風險

$pulldown_choice = _GET['pulldown_choice']; 
..... #other codes here 
$sql = "SELECT * FROM tablename WHERE item LIKE '%$pulldown_choice%'; 

我的問題是:我需要從預先定義的,下拉列表框中選擇擔心數據庫注入?謝謝!

+0

您最好使用任何可能想要連接到SQL的參數。所以,基本上,總是安全並使用參數化查詢。 –

+0

好點!做正確的方式,並有一個和平的頭腦。 – LearnAWK

+0

顯然有人可以傳入'*'並欺騙你的查詢。所以是的,你需要擔心注射在這裏。 –

回答

1

有人可能會調用請求並手動調用具有...?pulldown_choice=WHATEVER_YOU_WANT(例如*)的URL。

我可能只會通過一個索引,並在您的服務器端的選項固定。

+0

我一直這樣做。這是非常罕見的,但一般的程序員從來沒有想過它imo – Drew

+0

您的意見是讓我大開眼界。我一定會讀更多關於這個話題的。 – LearnAWK