secguide
secguide copied to clipboard
面向开发人员梳理的代码安全指南
不安全的 Swagger 暴露 Swagger 如果不进行任何安全限制直接对外暴露端访问路径,可导致敏感接口以及接口的参数泄露。 解决方案: ``` // 测试环境配置文件 application.properties 中 swagger.enable=true // 生产环境配置文件 application.properties 中 swagger.enable=false // java代码中变量 swaggerEnable 通过读取配置文件设置swagger开关 @Configuration public class Swagger { @Value("${swagger.enable}") private boolean swaggerEnable;...
1、问题描述 java 代码安全规范的 1.5.4 外部输入拼接到HTTP响应头中需进行过滤 需补充 2、解决建议 应补充下列编码规范: ``` public void risk(HttpServletRequest request, HttpServletResponse response) { String val = request.getParameter("val"); try { int value = Integer.parseInt(val); } catch (NumberFormatException e)...
1、问题描述 java 代码安全规范的【1.10.3条】【建议】加锁操作 2、解决建议 应补充下列编码规范: + HashMap、HashSet是非线程安全的; + 而Vector、HashTable内部的方法基本都是synchronized,所以是线程安全的。 + 在高并发下应使用Concurrent包中的集合类,同时在单线程下应禁止使用synchronized。
1、问题描述 java 代码安全规范的【1.9.1 条】 返回信息最小化 需补充 2、解决建议 应补充下列编码规范: 解决方案1: ``` @Controller class UserController { //禁止在url中使用业务变量,以防止篡改导致的越权 @PostMapping("/user") public UserEntity getUser(@RequestParam("id") String id) { //返回用户所有字段内容,可能包括敏感字段 return userService.findById(id).get(); } } @Controller class UserController...
1.6 【必须】不应当把用户可修改的字符串作为printf系列函数的“format”参数 如果用户可以控制字符串,则通过 %n %p 等内容,最坏情况下可以直接执行任意恶意代码。 在以下情况尤其需要注意: WIFI名,设备名…… 错误: snprintf(buf, sizeof(buf), wifi_name); 正确: snprinf(buf, sizeof(buf), "%s", wifi_name); // 这里应该是 snprintf,少个 t
修改if判断注释
数组下标从0开始,所以第4个元素对应的下标是3
"log_m_essage" seems is a typo. Should replace with "log_message"
- 添加了不可重入函数使用建议及函数列表
PHP开发者不配吗?