我做了一個表單,接受查詢並通過php執行它。 我想對輸入進行檢查,只有select語句被允許進行查詢。 我如何實現這一目標?只允許通過PHP執行的查詢「選擇」語句
回答
最好的方法是,如果您有權訪問數據庫服務器並且可以創建一個新用戶,創建一個只具有SELECT權限的用戶,然後將該用戶分配給您的PHP Web應用程序。
http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges
正則表達式是好的,但它是一個有點冒險的方法來這樣篩選出來,你永遠不知道你的用戶如何創作是:)
+1好主意:D – 2012-03-22 09:53:25
@aF。 +1爲「這是什麼巫術」 – 2012-03-22 09:54:22
+1你打我吧 – oezi 2012-03-22 09:54:50
爲了安全起見,你可以創建一個MySQL用戶,只給該用戶SELECT
permissions。
- 1. 允許執行多個語句,同時通過SQLAlchemy的
- 2. 如何通過MSSQL在PHP上執行多語句查詢
- 3. 選擇查詢選擇語句
- 4. PHP - 只允許通過AJAX訪問
- 5. options_from_collection_for_select不允許通過變量選擇
- 6. 通過查詢語句[INSERT,UPDATE]用作參數,並執行它
- 7. 通過過濾多行選擇查詢
- 8. 允許查詢字符串通過``````
- 9. 執行選擇語句的結果
- 10. 在Python的調試器(pdb)中允許執行多行語句
- 11. MySQL的選擇查詢語句
- 12. 查詢選擇語句的結果
- 13. 允許CASE語句
- 14. PHP選擇語句
- 15. 運行時錯誤3065 VBA SQL語句中的「無法執行選擇查詢」
- 16. 通過實體進行選擇查詢
- 17. 通過選擇查詢
- 18. Java jtable允許行選擇
- 19. 在java中執行多選擇語句
- 20. 選擇語句只選擇一個值
- 21. sql查詢選擇語句統計
- 22. 寫一個選擇語句查詢
- 23. MySQL嵌套查詢選擇語句
- 24. SQL Oracle查詢 - 選擇語句
- 25. Noob查詢有關xsl:選擇語句
- 26. 兩個SQL查詢語句,只選擇一個
- 27. 如何允許通過下拉選擇通過圖標
- 28. PHP呼應查詢的實際語句後的執行
- 29. 您是否允許使用包含語句的find_each查詢?
- 30. 在SQL查詢中執行CASE語句
正則表達式是我想起來的第一件事情.. – techish 2012-03-22 09:50:25
你應該在任何情況下爲服務器/ php創建一個只允許在你的MySQL數據庫中「選擇」的用戶,所以不管你有多好或不好檢查執行用戶將只能夠「選擇」。 – RSeidelsohn 2012-03-22 09:53:09
作爲僅授予讀取權限的用戶連接到數據庫? – 2012-03-22 09:53:31