[英]Securing a static SQL query from SQL Injection
我有一個應用程序,它讀取包含數據庫參數和靜態SQL語句的數千個平面文件。 在我的Java代碼中,我采用SQL語句並執行它。 由於可能的SQL注入漏洞,Fortify不接受此操作。 例如,我的平面文件如下所示:
query: SELECT USER_ID FROM SOME_TABLE WHERE ID='2'
我接受query
並執行它。
我的問題是如何使這樣的靜態SQL安全? 有沒有辦法將這些SQL轉換為PreparedStatements?
如果您不更改基於用戶輸入從文件中讀取的SQL語句,則不會進行SQL注入。
另一方面,如果您不能嚴格控制此文件的最終內容(誰可以對其進行編輯?),那么整個程序就是一個龐大的SQL注入程序。
即使沒有綁定參數,也可以通過使用PreparedStatement使代碼檢查工具滿意。 當然,這不會以任何方式提高安全性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.