NutzCN Logo
问答 vue版本,文章管理,如果文章内容是英文,保存时提示“表单参数错误”
发布于 1888天前 作者 mntswan 1311 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

demo版本自带的文章管理功能,在富文本客户端输入英文内容是,保存时,会提示“表单参数错误”,经验证发现,在保存时,执行XssSqlFilterProcessor中的SQL XSS拦截时判断错误。

 protected boolean checkParams(ActionContext ac) {
        HttpServletRequest req = ac.getRequest();
        Iterator<String[]> values = req.getParameterMap().values().iterator();// 获取所有的表单参数
        Iterator<String[]> values2 = req.getParameterMap().values().iterator();// 因为是游标所以要重新获取
        boolean isError = false;
        String regEx_sql = "select|update|and|or|delete|insert|trancate|char|chr|into|substr|ascii|declare|exec|count|master|drop|execute";
        String regEx_xss = "script|iframe";

关键判断参数regEx_sql ,这些关键字中,and or作为英文常用单词,在英文文章里肯定会出现,但是如果这里去掉这部分SQL校验的话,又不太安全。

想问问这种有没有什么好的解决方案。

2 回复

前台没有富文本编辑器,且后台用户都是可控的情况下,可以不启用xss拦截功能。

或者你可以改一改代码,特定的路径不过滤。

添加回复
请先登陆
回到顶部