java - createNativequery 中的 sql 注入
问题描述
String qstr = "select * from users where user_type=?1 offset ?2 limit ?3"
Query query = entityManager.createNativeQuery(qstr, User.class);
query.setParameter(1, type);
query.setParameter(2, offset);
query.setParameter(3, limit);
这里类型、偏移量和限制是用户输入。
Sonarcube 在 createNativeQuery 中展示了 sql 注入。谁能说防止sql注入的解决方案是什么?
解决方案
当分配您的类型为“1 and 1 = 1”时会导致 sql 注入
推荐阅读
- javascript - 任何证明微任务在渲染之前执行的示例?
- javascript - Uncaught SyntaxError: Missing ) 在参数列表之后,但没有额外的}?
- python - 为什么 py 和 python 给出不同的结果?
- php - PHP 或 HTML 或 CSS 图像从原始最大高度 100 缩放,但将宽度缩放为自动;
- c# - ASP.NET Core 3.1 和 Entity Framework Core:一对多的关系
- javascript - 如何以智能和干净的方式使用文件系统
- xaml - 如何将 Observable Collection 的整个元素绑定到 Xamarin Forms 中的 ContentView
- python - 为什么短路在 python 的“全部”功能中不起作用?
- reactjs - 从 REACT.js 中的 URL 获取查询字符串时如何自动提交表单
- html - 如何在电子邮件模板中显示重叠的多个图像?