保护Java编码的注意事项

时间:2014-04-16 07:31:25

标签: java security

我希望收集一些使用Java进行安全编码的专业建议和预防措施。其中几个我已经在考虑:

  • 不应记录不需要/过多/敏感的信息。
  • 在参数化查询中应注意SQL注入,应使用PreparedStatementCallableStatement代替Statement
  • 应仔细释放所有资源(数据库连接,输入/输出流)。
  • 内部异常应该在传播给上游呼叫者之前被捕获并消毒,因为它可能会泄露敏感信息。
  • 应该在核心转储中显示时,甚至可以从内存中清除敏感信息。
  • 如果是进程间通信,则应加密敏感参数。
  • 除非有充分的理由不这样做,否则应使用private作为变量。
  • 应为敏感类提供复制方法。
  • 应优先使用静态工厂方法进行公共构造函数的对象构建。
  • 应该避免可能包含敏感信息的类的序列化。

感谢社区的任何加分。

1 个答案:

答案 0 :(得分:2)

另一个想到的是,从getter方法返回时应该使用防御性副本。

如果您希望保护已发布的代码,可以考虑使用JET之类的内容,尽管这不是您的问题,我想我只是提到它。