• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-4-27 13:10 | 作者: seanhe | 来源: | 查看: 12次 | 进入软件测试时代论坛讨论

软件测试时代

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

  • 静态字段

  • 缩小作用域

  • 公共方法和字段

  • 保护包

  • equals方法

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

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

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

  • 序列化

  • 原生函数

  • 清除敏感信息

  静态字段

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

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

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

  缩小作用域

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

  公共方法/字段

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

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

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

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

共3页。 1 2 3 :

文章来源于软件测试时代 http://www.testage.net/


软件测试时代开课信息
Google
关于我们 | 合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2007 TestAge(测试时代) 北京慧灵科技有限公司 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备05002925号
技术支持和业务联系:info@testage.com.cn 电话:010-51297073