2012-03-22 30 views
2

我做了一個表單,接受查詢並通過php執行它。 我想對輸入進行檢查,只有select語句被允許進行查詢。 我如何實現這一目標?只允許通過PHP執行的查詢「選擇」語句

+0

正則表達式是我想起來的第一件事情.. – techish 2012-03-22 09:50:25

+3

你應該在任何情況下爲服務器/ php創建一個只允許在你的MySQL數據庫中「選擇」的用戶,所以不管你有多好或不好檢查執行用戶將只能夠「選擇」。 – RSeidelsohn 2012-03-22 09:53:09

+0

作爲僅授予讀取權限的用戶連接到數據庫? – 2012-03-22 09:53:31

回答

11

最好的方法是,如果您有權訪問數據庫服務器並且可以創建一個新用戶,創建一個只具有SELECT權限的用戶,然後將該用戶分配給您的PHP Web應用程序。

http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges

正則表達式是好的,但它是一個有點冒險的方法來這樣篩選出來,你永遠不知道你的用戶如何創作是:)

+1

+1好主意:D – 2012-03-22 09:53:25

+1

@aF。 +1爲「這是什麼巫術」 – 2012-03-22 09:54:22

+0

+1你打我吧 – oezi 2012-03-22 09:54:50

5

爲了安全起見,你可以創建一個MySQL用戶,只給該用戶SELECT permissions