我一直在使用php/mysql一段時間,我想在程序的開始處清理所有超級全局變量,但尚未連接到任何數據庫。是否有任何其他PHP定義的函數使變量sql安全。任何人都可以告訴我爲什麼使用mysql_real_escapce_string前需要一個活動的mysql連接
回答
我想在程序開始時清理所有超級全局變量。
這不是最好的主意。你應該根據上下文清理變量。如果通過mysql_real_escape_string()
運行所有變量,則當您想在SQL上下文之外使用變量時,可能會發現問題。
是否有任何其他PHP定義的函數使變量SQL安全?
您可以在庫中使用綁定參數,如PDO。
誰能告訴我爲什麼在使用
mysql_real_escape_string()
之前需要激活MySQL連接?
我相信這是因爲函數需要知道數據庫正在使用的字符集,因此它可以正確地轉義。
這個想法是完全錯誤的。
- 做散裝消毒沒有意義。事實上,你正試圖重塑在上一個版本中最終被禁止使用該語言的臭名昭着的魔術引號功能。想想看。
- 「mysql_real_escape_sequence」無論如何不會使「數據」「安全」。
使用mysql_real_escape_string(),您只能轉義SQL字符串。當時他們正在查詢。 任何字符串,不只是一個來自請求。想想看。
謝謝你的答案先生,但你是什麼意思的「不使數據安全「。函數mysql_real_escape_sequence是否處理所有可能的mysql注入。 – 2012-07-06 12:45:47
這並非完全錯誤。在任何代碼開始時清理輸入是一個好主意 - 無論你做什麼,它都更安全。不,魔術報價並未因大宗消毒而被禁止 - 魔術報價被禁止,因爲人們沒有進行消毒。 – unity100 2013-02-28 22:14:09
- 1. 如何在不依賴xcode4的情況下進行清理
- 2. 如何在不使用UIKit的情況下處理點擊SKSpriteNode
- 3. 如何在不觸發信號的情況下清除QLineEdit
- 4. 如何在不執行my_dict = {}的情況下清空Python字典?
- 5. 如何在下列情況下使用列表理解?
- 6. 如何在使用情況下在什麼情況下使用tsql?
- 7. 如何在不使用ModelForm的情況下驗證/清除()unique = True字段?
- 8. 如何在不使用RequireJS的情況下使用Testacular管理(Coffeescript)?
- 9. 如何在不下載源代碼的情況下使用EXSLT?
- 10. 如何在不使用斜線的情況下使用'?
- 11. 如何:在不使用MvcContrib.Grid的情況下使用MvcContrib.Pagination查看
- 12. 如何在不使用lambda的情況下使用linq擴展?
- 13. 如何在不使用make的情況下使用cgo?
- 14. 如何在不使用App.config的情況下使用Entity Framework
- 15. 如何在不使用svcutil.exe的情況下使用WCF服務?
- 16. 如何在不使用$ scope的情況下使用apply()方法?
- 17. 如何在不使用requirejs的情況下使用redux?
- 18. 如何在不使用RE的情況下使用DateTime?
- 19. 如何在不使用類的情況下使用MVC創意?
- 20. 如何在不使用'sudo'的情況下使用'npm install'?
- 21. 如何在C#中不使用Edmx的情況下使用DbContext?
- 22. 如何在不使用composer的情況下使用evert/sitemap yii2?
- 23. 如何在不使用TcpSocket的情況下使用SSLStream
- 24. 如何在不使用forEach()的情況下使用HTML元素?
- 25. 如何在不使用Visual Studio的情況下使用MSTest?
- 26. 如何在不使用把手的情況下使用Ember.js
- 27. 在Oracle中,如何處理以下使用過程的情況?
- 28. 在不使用網關的情況下處理信用卡
- 29. 如何在不同情況下使用不同的子類?
- 30. 如何在不使用OpenGL ES的情況下使UIImage變亮?
http://stackoverflow.com/questions/1162491/alternative-to-mysql-real-escape-string-without-connecting-to-db – silly 2012-03-08 09:51:59