0%

40安全开发-JavaEE应用

思维导图

22安全开发

知识点:

  • 50、JavaEE-SpringBoot-身份鉴权-JWT技术
  • 51、JavaEE-SpringBoot-打包部署-JAR&WAR

章节点

  • 1、PHP:
    功能:新闻列表,会员中心,资源下载,留言版,后台模块,模版引用,框架开发等
    技术:输入输出,超全局变量,数据库操作,逻辑架构,包含上传&下载删除;
    技术:JS&CSS混用,Cookie,Session操作,MVC架构,ThinkPHP引用等。
    安全:原生PHP开发安全,模版引用安全,第三方插件安全,TP框架安全等
  • 2、JS:
    功能:登录验证,文件操作,SQL操作,云应用接入,框架开发,打包器使用等
    技术:原生开发,DOM,常见库使用,框架开发(Vue,NodeJS),打包器(Webpack)等
    安全:原生开发安全,NodeJS安全,Vue安全,打包器Webpack安全,三方库安全问题等
  • 3、Java:
    功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方库使用等.
    框架库:MyBatis,SpringMVC,SpringBoot,Shiro,Log4j,FastJson等
    技术:Servlet,Listen,Filter,Interceptor,JWT,AOP,待补充
    安全:SQL注入,RCE执行,反序列化,脆弱验证,未授权访问,待补充
    安全:原生开发安全,第三方框架安全,第三方库安全等,架构分析,待补充

SpringBoot-身份鉴权-JWT技术

[https://zhuanlan.zhihu.com/p/394138133]
JWT(JSON Web Token)是由服务端用加密算法对信息签名来保证其完整性和不可伪造;
Token里可以包含所有必要信息,这样服务端就无需保存任何关于用户或会话的信息;
JWT用于身份认证、会话维持等。由三部分组成,header、payload与signature。
参考:https://cloud.tencent.com/developer/article/2101634

  • 1、引入依赖
    1
    2
    3
    4
    5
    <dependency>
    <groupId>com.auth0</groupId>
    <artifactId>java-jwt</artifactId>
    <version>3.4.0</version>
    </dependency>
  • 2、创建JWT
    1
    JWT.create()  
  • 3、配置JWT
    1
    2
    3
    4
    5
    6
    7
    8
    9
    JWT.create()  
    //header
    .withHeader(map)
    //payload
    .withClaim("userid",id)
    .withClaim("username",user)
    .withClaim("password",pass)
    //signature
    .sign(Algorithm.HMAC256("xiaodisec"));
  • 4、解析JWT
    1
    2
    3
    4
    5
    6
    //构建解密注册
    JWTVerifier jwt = JWT.require(Algorithm.HMAC256("xiaodisec")).build();
    //解密注册数据
    DecodedJWT verify = jwt.verify(jwtdata);
    //提取解密数据
    Integer userid = verify.getClaim("userid").asInt();
  • 5、安全问题
    参考:https://cloud.tencent.com/developer/article/2101634

SpringBoot-打包部署-JAR&WAR

参考:https://mp.weixin.qq.com/s/HyqVt7EMFcuKXfiejtfleg

SpringBoot项目打包在linux服务器中运行:

①jar类型项目
jar类型项目使用SpringBoot打包插件打包时,会在打成的jar中内置tomcat的jar。
所以使用jdk直接运行jar即可,jar项目中功能将代码放到其内置的tomcat中运行。
②war类型项目
在打包时需要将内置的tomcat插件排除,配置servlet的依赖和修改pom.xml,然后将war文件放到tomcat安装目录webapps下,启动运行tomcat自动解析即可。

Jar打包

报错解决:
https://blog.csdn.net/Mrzhuangr/article/details/124731024
https://blog.csdn.net/wobenqingfeng/article/details/129914639
1、maven-clean-package
2、java -jar xxxxxx.jar

War打包

  • 1、pom.xml加入或修改:
    war
  • 2、启动类里面加入配置:
    1
    2
    3
    4
    5
    public class TestSwaggerDemoApplication extends SpringBootServletInitializer
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(TestSwaggerDemoApplication.class);
    }
  • 3、maven-clean-package
  • 4、war放置tomcat后启动

JAVAEE源码架构:
无源码下载泄漏风险
源码泄漏也需反编译

欢迎关注我的其它发布渠道

-------------本文结束感谢您的阅读-------------