-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[功能改进]: 描述 OrderItem能否支持安全模式不进行防注入的替换 #6448
Comments
+1,尤其是postgresql默认会把sql中的列名变小写,如果表中的列名是大写就会很麻烦 |
我现在是通过反射的方式解决的,OrderItem 只有创建的时候会进行替换,可以反射修改里面内容 |
+1 刚升级了一下版本,发现了这个问题,这样确实防止了SQL注入的问题,但是我认为这个配置应该是灵活可控的 |
是这样的,灵活了过后可以利用Sql的函数实现更多的东西,同时调用者也会保证Sql的安全性问题。 |
你们可以重写(如果被 SQL 注入自行负责),如下: page.setOrders(Arrays.asList(new OrderItem() {
@Override
public boolean isAsc() {
return true;
}
@Override
public String getColumn() {
return "\"字段\"";
}
})); |
3 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
确认
功能改进
如图 OrderItem在创建时 替换了Pattern.compile("'|"|\<|\>|&|\|\+|=|#|-|;|\s|\t|\r|\n") 的内容,导致部分逻辑不能实现,我在使用反射修改 OrderItem 对象的 column 属性后代码正常运行 , 目前orderItem 除反射外无法正常跳过替换 能否加入安全模式 主动跳过该替换 如加入方法
public OrderItem setColumnSafe(String column) {
// 正常的创建逻辑 但是不替换 ‘’ “ ” 等有Sql注入问题的字符
}
参考资料
No response
The text was updated successfully, but these errors were encountered: