特殊符号传到后端发生变异 & "<>

业务遇到bug,前端传回数据 & ,到后台接收到的数据就是 &

 

 

后台接收到的数据就携带了amp;的后缀

 

网上查找原因,大部分说法是前端传回的数据导致,但是实际并不是,这里是框架的正则过滤,将'&' 替换成 '&' 预防脚本攻击

解决方式

1.

StringEscapeUtils.unescapeHtml()

2.在框架层面进行处理

 public static String htmlSpecialChars(final String s) {
        String result = s;
        result = regexReplace(P_AMP, "&", result);
        result = regexReplace(P_QUOTE, """, result);
        result = regexReplace(P_LEFT_ARROW, "<", result);
        result = regexReplace(P_RIGHT_ARROW, ">", result);
        return result;
    }

这里将对应的正则方式去掉

 

以上2中方式都能去除出现的后缀,但是都不建议使用,尽量避免关键字和关键符号在填写中出现

posted @   贾斯丁哔哔  阅读(2515)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示