安全Java编码的安全预防措施
我希望收集一些专业的建议和注意事项来使用Java进行安全编码。我已经在考虑其中的几个:
- 不应记录不需要的/过多的/敏感的信息李>
- 在参数化查询中应注意SQL注入,应使用
PreparedStatement
或CallableStatement
而不是Statement
李> - 应小心释放所有资源(数据库连接、输入/输出流)李>
- 在向上游调用方传播之前,应捕获并清除内部异常,因为它可能会泄露敏感信息李>
- 应清除敏感信息,即使在执行此操作时也应清除内存中的敏感信息,因为它可能会出现在核心转储中李>
- 在进程间通信的情况下,应加密敏感参数李>
- 应使用
private
作为变量,除非有充分理由不这样做李> - 敏感类应该为复制类提供李>
- 对于对象构造,应该优先使用静态工厂方法,而不是公共构造函数李>
- 应避免序列化可能包含敏感信息的类李>
感谢社区的任何总结
# 1 楼答案
我想到的另一个问题是,当从getter方法返回时,应该使用防御副本
如果你想保护你发布的代码,你可以考虑一些类似JET的东西,尽管这不是你要问的问题,我想我只是提一下。p>