Java编写过程中安全问题解决指南
Java编写过程中安全问题解决指南应付高严峻性暴露的技巧
请遵循下列建议以幸免高严峻性静态安全性暴露:
限制对变量的访问
让每个类和方法都成为final,除非有足够的理由不如此做
不要依靠包作用域
使类不可克隆
使类不可序列化
使类不可逆序列化
幸免硬编码敏锐数据
查找恶意代码
限制对变量的访问
假如将变量声明为public,那么外部代码就能够操作该变量。这可能会导致安全性暴露。
阻碍
假如实例变量为public,那么就能够在类实例上直截了当访问和操作该实例变量。将实例变量声明为protected 并不一定能解决这一问题:尽管不可能直截了当在类实例基础上访问如此的变量,但仍旧能够从派生类访问那个变量。
清单 1 演示了带有public 变量的代码,因为变量为public 的,因此它暴露了。
清单 1. 带有public 变量的代码
class Test {
public int id;
protected String name;
Test(){