Java 安全开发需要了解什么?

发布于 2017-03-09 17:26:56
关注者
0
被浏览
2.9k
12 个回答

安全服务于业务,既然想从事Java安全开发,首先要精通“业务”——Java开发。

Java平台被用于很多领域开发,Web Dev是其中一个。因此学习可以分为两个层面基础面和领域面。

基础面:

Java语言特性

高级编程

JDK

JVM

平台框架(J2SE J2EE)

还包括了密码学、OO,都是非常重要的理论基础。

等等。


领域面:

目前行业Web开发核心框架是Spring。以及该生态圈下的Spring MVC、Spring Boot、Spring Security等等。

数据库框架

日志框架

Web Service框架

密码学框架。

等等(重点关注Apache、jBoss社区)。


熟悉业务后,从事安全开发研究,可以参照一些国际标准、行业实践,ISO27034、MSSDL、OWASP、CWE、WASC。这些只是参考,如果想成为该领域专家,则需要大量阅读源码、进行静态、动态分析(尤其是渗透测试),来形成自己对安全开发的认识(编码级、设计级、产品级)。

泅渡
泅渡 2017-06-03

三个框架

 一、Spring

Spring是一个比较比较强大的框架,它解决了很多在J2EE开发中常见的问题。
1、Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control(IOC)容器,且它在使用IOC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。
2、Spring提供了唯一的数据访问抽象,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。
3、Spring还提供了唯一的事务管理抽象,它能够给各种底层事务管理技术提供一个一致的编程模型。
4、Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务。如果有需要,还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。
5、Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。

二、Structs

Structs是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Structs能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Structs把Servlet、JSP、自定义标签和信息资源整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

三、Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Java学习需要了解哪些框架知识?掌握了以上三种开发框架就足以在Java开发中能够大显身手了。当然学习这三种框架,也是讲究顺序的,郑州北大青鸟老师建议,先学structs,接着学hibernate,再学spring。按照这个顺序学下来就会很快掌握这些框架开发技术的。

数10难逃
数10难逃 2017-01-12
安全路漫漫 大家加油

java不是很熟悉,但是java框架出现的漏洞到是不少,经典的struts漏洞,楼主可以看看这些漏洞产生的原因,估计会对安全开发有所帮助。

TVBstar
TVBstar 2017-06-12
暂时没什么可以说的

Java,JavaScript,j2ee......

Echo
Echo 2017-04-12
暂时没什么可以说的

首先需要了解安全相关的理论和算法,比如证书,加密,密钥等等。

指上菁芜
指上菁芜 2017-07-12

Java securityapi,这个在Java ee官方文档有详细介绍,里边还介绍了如何配置server的realm等等。

Ctrlc
Ctrlc 2017-08-12
暂时没什么可以说的

Spring是一个比较比较强大的框架,它解决了很多在J2EE开发中常见的问题。

南馆潇湘
南馆潇湘 2017-08-12

Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control(IOC)容器,且它在使用IOC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。

navie
navie 2017-02-12
暂时没什么可以说的

Spring提供了唯一的数据访问抽象,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。

查熙云
查熙云 2017-07-12
暂时没什么可以说的

Spring还提供了唯一的事务管理抽象,它能够给各种底层事务管理技术提供一个一致的编程模型。

bestzzz
bestzzz 2017-08-12
暂时没什么可以说的

tructs是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Structs能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Structs把Servlet、JSP、自定义标签和信息资源整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

梦想橡皮擦
梦想橡皮擦 2017-04-12
没有痕迹就是不存在

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

撰写答案

请登录后再发布答案,点击登录

分享
好友

手机
浏览

扫码手机浏览