技术摘要:如何编写安全的Java代码

文章作者 100test 发表时间 2007:09:20 13:06:47
来源 100Test.Com百考试题网


  摘要:本文是来自Sun官方站点的一篇关于如何编写安全的Java代码的指南,开发者在编写一般代码时,可以参照本文的指南

  •. 静态字段

  •. 缩小作用域

  •. 公共方法和字段

  •. 保护包

  •. equals方法

  •. 如果可能使对象不可改变

  •. 不要返回指向包含敏感数据的内部数组的引用

  •. 不要直接存储用户提供的数组

  •. 序列化

  •. 原生函数

  •. 清除敏感信息

  静态字段

  •. 避免使用非final的公共静态变量

  应尽可能地避免使用非final公共静态变量,因为无法判断代码有无权限改变这些变量值。

  •. 一般地,应谨慎使用易变的静态状态,因为这可能导致设想中相互独立的子系统之间发生不可预知的交互。

  缩小作用域

  作为一个惯例,尽可能缩小方法和字段的作用域。检查包访问权限的成员能否改成私有的,保护类型的成员可否改成包访问权限的或者私有的,等等。

  公共方法/字段

  避免使用公共变量,而是使用访问器方法访问这些变量。用这种方式,如果需要,可能增加集中安全控制。

  对于任何公共方法,如果它们能够访问或修改任何敏感内部状态,务必使它们包含安全控制。

  参考如下代码段,该代码段中不可信任代码可能设置TimeZone的值:

以下是引用片段:
  private static TimeZone defaultZone = null.
  public static synchronized void setDefault(TimeZone zone)
  {
  defaultZone = zone.
  }



相关文章


在J 页面中实现检索数据的分页显示
J 教程--A lication的应用
如何使用Java中的Date和Calendar类
J 环境的配置过程(JDK TOMCAT MYSQL)
技术摘要:如何编写安全的Java代码
Hibernate3.x过滤器的高级应用
ring让LOB数据操作变得简单易行
Java与.NET的基于WS-Security的We ervices集成实现(下)
Java与.NET的基于WS-Security的We ervices集成实现(上)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛