2015-07-19 63 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