当前位置:   article > 正文

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

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过滤。

  1. /**
  2. * 过滤xss攻击代码
  3. * @param value
  4. * @return
  5. */
  6. public static String cleanXSS(String value) {
  7. if (value == null) {
  8. return null;
  9. }
  10. value = value.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
  11. value = value.replaceAll("\\(", "&#40;").replaceAll("\\)", "&#41;");
  12. value = value.replaceAll("'", "&#39;");
  13. value = value.replaceAll("eval\\((.*)\\)", "");
  14. value = value.replaceAll("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']", "\"\"");
  15. value = value.replaceAll("script", "");
  16. return value;
  17. }

测试:

  1. public static void main(String[] args) {
  2. System.out.println(cleanXSS("<script>alert(我来了)</script>"));
  3. }

结果:

标签都被过滤掉了。

搜索请求代码IndexController加下:

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/49997?site
推荐阅读
相关标签
  

闽ICP备14008679号