第二个项目---EMOS企业在线办公小程序

本文介绍了一个结合微信小程序和Java后端的人脸签到系统开发过程,涵盖了从前端UI设计到后端逻辑实现的多个环节,重点讲解了XSS防护、Shiro认证、JWT令牌管理、人脸模型创建及识别等功能。

代码量:

  • 移动端:30000+
  • 后端:5000+

技术栈:

  • 移动端:uni-app + Vue + JavaScript + Less + 微信小程序
  • 后端:SpringBoot + SpringMVC + MyBatis + Shiro+ JWT + Quartz + ThreadPool + RabbitMQ + Docker

源码地址:

第一章 安装软件

数据库:MySQL + MongoDB + Redis

后端:IDEA

前端:微信小程序开发工具 + HBuilderX

虚拟机:VirtualBox,Linux系统采用CentOS

第二章 后端环境搭建基础

  1. 利用Maven创建Spring Boot项目

  2. 配置MySQL、MongoDB、Redis数据源

  3. 整合SSM框架

  4. 自定义异常类和封装结果集

  5. 集成Swagger,便于调用测试Web方法

  6. 配置后端验证功能

  7. 抵御跨站脚本XSS攻击

    XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

    比如用户在发帖或注册时,文本框中输入<script>alert(123)</script>,如果不经过转义,保存到数据库里后,将来渲染时会执行该代码。

    所以最有效的办法就是将用户输入的数据进行转义。

    如果重写HttpServletRequest类,需要覆盖的方法太多,非常耗时。

    只需继承HttpServletRequestWrapper类,该方法为请求传入包装类,采用装饰器模式,可以随意修改其中的方法。

    package com.example.emos.wx.config.xss;
    
    import cn.hutool.core.util.StrUtil;
    import cn.hutool.http.HtmlUtil;
    import cn.hutool.json.JSONUtil;
    
    import javax.servlet.ReadListener;
    import javax.servlet.ServletInputStream;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletRequestWrapper;
    import java.io.*;
    import java.nio.charset.Charset;
    import java.util.HashMap;
    import java.util.LinkedHashMap;
    import java.util.Map;
    
    /**
     * @author 袁梦达 2019012364
     */
    public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
         
         
        public XssHttpServletRequestWrapper(HttpServletRequest request) {
         
         
            super(request);
        }
    
        @Override
        public String getParameter(String name) {
         
         
            String value = super.getParameter(name);
            if(!StrUtil.hasEmpty(value)){
         
         
                value = HtmlUtil.filter(value);
            }
            return value;
        }
    
        @Overr
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值