文章 2022-04-29 来自:开发者社区

java安全编码指南之:输入注入injection

目录简介SQL注入java中的SQL注入使用PreparedStatementXML中的SQL注入XML注入的java代码简介注入问题是安全中一个非常常见的问题,今天我们来探讨一下java中的SQL注入和XML注入的防范。SQL注入什么是SQL注入呢?SQL注入的意思是,用户输入了某些参数,最终导致SQL的执行偏离了程序设计者的本意...

文章 2022-04-29 来自:开发者社区

java安全编码指南之:lock和同步的正确使用

目录简介使用private final object来作为lock对象不要synchronize可被重用的对象不要sync Object.getClass()不要sync高级并发对象不要使用Instance lock来保护static数据在持有lock期间,不要做耗时操作正确释放锁简介在java多线程环境中,lock和同步是我们一定会使用到的功能。那么在java中编写...

文章 2022-04-29 来自:开发者社区

java安全编码指南之:方法编写指南

目录简介不要在构造函数中调用可以被重写的方法不要在clone()方法中调用可重写的方法重写equals()方法hashCode和equalscompareTo方法的实现简介java程序的逻辑是由一个个的方法组成的,而在编写方法的过程中,我们也需要遵守一定的安全规则,比如方法的参数进行校验,不要在assert中添加业务逻辑,不要...

文章 2022-04-29 来自:开发者社区

java安全编码指南之:死锁dead lock

目录简介不同的加锁顺序使用private类变量使用相同的Order释放掉已占有的锁简介java中为了保证共享数据的安全性,我们引入了锁的机制。有了锁就有可能产生死锁。死锁的原因就是多个线程锁住了对方所需要的资源,然后现有的资源又没有释放,从而导致循环等待的情况。通常来说如果不同的线程对加锁和释放锁的顺序不一致的话,就很有可能产生死锁。不同的...

文章 2022-04-29 来自:开发者社区

java安全编码指南之:异常处理

目录简介异常简介不要忽略checked exceptions不要在异常中暴露敏感信息在处理捕获的异常时,需要恢复对象的初始状态不要手动完成finally block不要捕获NullPointerException和它的父类异常不要throw RuntimeException, Exception, or Throwable不要抛出未声明的checked Exception简介异常是...

java安全编码指南之:异常处理
文章 2022-04-29 来自:开发者社区

java安全编码指南之:敏感类的拷贝

目录简介一个简单的SensitiveObjectSensitiveObject的限制对SensitiveObject的攻击解决办法简介一般来说class中如果包含了私有的或者敏感的数据的时候是不允许被拷贝的。如果一个class不想被拷贝,我们是不是不提供拷贝的方法就能保证class的安全了呢?一起来看看吧。一个简单的SensitiveObject假如我们有下面的一个S...

文章 2022-04-28 来自:开发者社区

java安全编码指南之:可见性和原子性

目录简介不可变对象的可见性保证共享变量的复合操作的原子性保证多个Atomic原子类操作的原子性保证方法调用链的原子性读写64bits的值简介java类中会定义很多变量,有类变量也有实例变量,这些变量在访问的过程中,会遇到一些可见性和原子性的问题。这里我们来详细了解一下怎么避免这些问题。不可变对象的可见性不可变对象就是初始化之后不能够被修改的对象ÿ...

文章 2022-04-28 来自:开发者社区

java安全编码指南之:输入校验

目录简介在字符串标准化之后进行校验注意不可信字符串的格式化小心使用Runtime.exec()正则表达式的匹配简介为了保证java程序的安全,任何外部用户的输入我们都认为是可能有恶意攻击意图,我们需要对所有的用户输入都进行一定程度的校验。本文将带领大家探讨一下用户输入校验的一些场景。一起来看看吧。在字符串标准化之后进行校验通常我们在进行字符串校验的时候需要对一些特殊字...

文章 2022-04-28 来自:开发者社区

java安全编码指南之:堆污染Heap pollution

目录简介产生堆污染的例子更通用的例子可变参数简介什么是堆污染呢?堆污染是指当参数化类型变量引用的对象不是该参数化类型的对象时而发生的。我们知道在JDK5中,引入了泛型的概念,我们可以在创建集合类的时候,指定该集合类中应该存储的对象类型。如果在指定类型的集合中,引用了不同的类型,那么这种情况就叫做堆污染。产生堆污染...

文章 2022-04-28 来自:开发者社区

java安全编码指南之:字符串和编码

目录简介使用变长编码的不完全字符来创建字符串char不能表示所有的Unicode注意Locale的使用文件读写中的编码格式不要将非字符数据编码为字符串简介字符串是我们日常编码过程中使用到最多的java类型了。全球各个地区的语言不同,即使使用了Unicode也会因为编码格式的不同采用不同的编码方式,如UTF-8,UTF-16,UTF-32等。...

java安全编码指南之:字符串和编码

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注