python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-Java过滤网站XSS攻击

锋哥原创的Springboot+Layui python222网站实战:

python222网站实战课程视频教程(SpringBoot+Python爬虫实战) ( 火爆连载更新中... )_哔哩哔哩_bilibilipython222网站实战课程视频教程(SpringBoot+Python爬虫实战) ( 火爆连载更新中... )共计23条视频,包括:python222网站实战课程视频教程(SpringBoot+Python爬虫实战) ( 火爆连载更新中... )、第2讲 架构搭建实现、第3讲 页面系统属性动态化设计实现等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1yX4y1a7qM/XSS攻击又称为跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。XSS是一种经常出现在Web应用程序中的计算机安全漏洞,是由于Web应用程序对用户的输入过滤不足而产生的,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

我们网站交互的地方,比如搜索这块,需要对用户发送的请求内容,进行xss过滤。

/**
 * 过滤xss攻击代码
 * @param value
 * @return
 */
public static String cleanXSS(String value) {
   if (value == null) {
      return null;
   }
   value = value.replaceAll("<", "<").replaceAll(">", ">");
   value = value.replaceAll("\\(", "(").replaceAll("\\)", ")");
   value = value.replaceAll("'", "'");
   value = value.replaceAll("eval\\((.*)\\)", "");
   value = value.replaceAll("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']", "\"\"");
   value = value.replaceAll("script", "");
   return value;
}

测试:

public static void main(String[] args) {
   System.out.println(cleanXSS(""));
}

结果:

标签都被过滤掉了。

搜索请求代码IndexController加下:

// 对关键字进行过滤操作
keyWord = StringUtil.cleanXSS(keyWord);

python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-Java过滤网站XSS攻击_第1张图片

你可能感兴趣的:(java,spring,boot,java,layui,xss)