如何使用 XSS 过滤器后还原 HTML 输入?
今天给大家带来了《如何使用 XSS 过滤器后还原 HTML 输入?》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~
如何使用 xss 过滤器后还原 html 输入
为了防止跨站脚本攻击,xss 过滤器会对非法字符进行转义,导致页面显示不正确。为了解决这个问题,我们有两种方法:
在页面上转义
在页面渲染的代码中使用 html 解码器,将转义后的字符还原为原始输入。
java 代码中转义
使用 spring security 的 responsebodyadvice 切面,在返回响应之前对 json 内容进行 html 解码。这种方法需要在 java 代码中配置以下内容:
@Configuration public class XssConverterConfiguration { @Bean public ResponseBodyAdvice converter() { return new XssConverter(); } } public class XssConverter implements ResponseBodyAdvice { @Override public boolean supports(MethodParameter returnType, Class converterType) { return true; } @Override public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) { if (body instanceof String) { return HtmlUtils.htmlUnescape((String) body); } return body; } }
今天关于《如何使用 XSS 过滤器后还原 HTML 输入?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注公众号!