2014-08-30 39 views
0

現在,我一直在使用的線沿線的東西:bind_param/bind_value是否使準備好的語句確實安全?

這是比使用bind_param/bind_value不太安全或者它並不重要,它的,使得它的安全做好準備?

我一直很好奇,我認爲使用bind_param/bind_value更安全,但我並不真正知道。對不起,如果這是一個重複,因爲我實際上找不到任何其他問題(我真的不知道如何說這個問題,所以這可能是爲什麼)。

+0

我最近開始使用MySQLi擴展,所以我不太瞭解它,如果bind_param/bind_value更安全,請解釋爲什麼,謝謝。 – Matthew 2014-08-30 04:59:46

+1

這個問題可能已經回答了我的問題,謝謝。 – Matthew 2014-08-30 05:03:08

回答

0

準備語句的想法是,您將查詢字符串提供給數據庫,並帶有空白。數據庫現在可以解釋查詢字符串並可能對其進行優化。 當您移交輸入以填補空白時,數據庫不會嘗試解釋它。它只是把輸入放在空白處。

如果將輸入放入查詢字符串中,數據庫將看不到,如果這是輸入的一部分或查詢sting的一部分,因此可能會導致數據庫將部分輸入解釋爲SQL代碼。這被稱爲SQL注入。

所以:隨着

你失去了安全的每一個部分一個準備好的聲明可以提供。

相關問題