应用的安全处理.md
2.29 KB
应用API的安全性处理
对于店助、云商、社区应用,页面统一采用了Lumen+Vue.js架构方案,在安全性层面上, 存在以下的处理方案
1. 防SQL注入处理
- 默认数据框架层级上使用PDO驱动防止SQL依赖注入,
- 代码中数据的查询、更新、插入、同时除使用Eloquent ORM框架,而不采用任何SQL语句的拼接。
- 代码中对于接口的参数,统一使用validate函数进行参数的有效性判定。
- PHP本身配置来防止SQL注入,配置的参数包括:magic_quotes_gpc。
2. 数据库的安全
- 应用上数据库连接的用户永不使用最高权限root用户。
- root用户无法在除数据库主机以后的任何主机上登录。
- 控制应用连接用户的权限,只授予账号必须的权限: Grant select,insert,update,delete on tablename to ‘username’@’hostname’
- 数据库主从、完善数据库备份机制。
3. 应用层级的安全处理
- API安全上,统一使用JWT Auth进行身份认证。 所有调用API的用户通过token令牌进行鉴权处理。
- API层后期统一使用https协议替换现有的http协议。
- 前端不使用跨域访问API,而通过nodjs代理方式统一访问API接口。
- 应用层级API的统一参数化验证,针对每个调用接口进行参数验证判断。对于不符合要求的参数(如类型不符、格式不符等)抛出异常。应用捕获异常并记录日志。
4. 系统层级上的日志方案 (待完成)
- 运维日志的加入: 记录设备、系统的运行情况,用于监控服务器状态。记录值包括(CPU/内存/网络连接数/IO等)。现是通过阿里云控制台进行页面查看和访问,没有进入系统的日志。
- 应用的用户日志:用户业务信息的记录,包括用户的所有请求连接、请求参数;返回给用户的数据、接口调用时间,用户调用的时长等信息。现针对用户日志完成一部分功能(包括用户的请求及应答),其它的一些用户日志需要进行完善。
- 安全性日志: 包括服务器、防火墙设备的日志,监控日志。这些日志需要纳入到统一的日志文件系统中进行管理。
- 日志统一分析性工具: 现都是通过手工方式,统一分析性工具暂无。