簡體   English   中英

Sonarqube 警告 sql 在我的 hibernate ZAC5C74B64B4B82352EF2F181AFFB5AC

[英]Sonarqube warned sql injection on the input-driven column name in my hibernate sql

我的 java (Hibernate, MySql) 代碼采用輸入數據來決定我要更新哪一列,如下所示:

String hsql = "update People set " + inputColumnName + " = null";
Query query = myHibernateSession.createQuery(hsql);
query.executeUpdate();

但是,Sonarqube 說“更改此代碼以不直接從用戶控制的數據構造 SQL 查詢”。 無論如何我可以避免這個錯誤(修復這個或繞過 sonarqube 檢查而不關閉此規則)?

您需要將變量限制為列名並消除插入語句的可能性。 使用綁定變量會有所幫助,但請查看以下示例: https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM