Java开发安全编码问题有哪些要点需注意?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2880个文字,预计阅读时间需要12分钟。
1+-+输入校验+编码原则:针对各种语言文本的保留字符,做到数据与代码相对分离。
1.1+SQL+注入防范+严格性高,可能性低。
(1)+参数校验,拦截非法参数(推荐白名单):public String sani1 - 输入校验
编码原则:针对各种语言本身的保留字符,做到数据与代码相分离。
1.1 SQL 注入防范
严重性高,可能性低。
(1) 参数校验,拦截非法参数(推荐白名单):
public String sanitizeUser(String username) { return Pattern.matches("[A-Za-z0-9_]+", username) ? username : "unauthorized user"; }
(2) 使用预编译:
String sql = "UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setBigDecimal(1, 285500.00); statement.setInt(2, 30015800);
1.2 XSS防范
严重性中,可能性高。
本文共计2880个文字,预计阅读时间需要12分钟。
1+-+输入校验+编码原则:针对各种语言文本的保留字符,做到数据与代码相对分离。
1.1+SQL+注入防范+严格性高,可能性低。
(1)+参数校验,拦截非法参数(推荐白名单):public String sani1 - 输入校验
编码原则:针对各种语言本身的保留字符,做到数据与代码相分离。
1.1 SQL 注入防范
严重性高,可能性低。
(1) 参数校验,拦截非法参数(推荐白名单):
public String sanitizeUser(String username) { return Pattern.matches("[A-Za-z0-9_]+", username) ? username : "unauthorized user"; }
(2) 使用预编译:
String sql = "UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setBigDecimal(1, 285500.00); statement.setInt(2, 30015800);
1.2 XSS防范
严重性中,可能性高。

