安全编码的基本准则,安全开发规范。 安全编码是软件开发中非常重要的一方面,涉及到数据安全、用户输入验证、数据加密、SQL注入防护、XSS攻击防护等多个方面。下面是安全编码的基本准则和开发规范: 一、输入数据验证 * 不要相信用户的任何输入数据,因为所有数据都是可以伪造的。 * 服务端在处理请求前,必须先验证数据是否合法,以及用户是否具有相关的操作权限。 二、SQL 注入防护 * 禁止拼接SQL字符串,只能使用参数化SQL语句。 * 存储过程中也不允许拼接SQL字符串,存储过程中可以拼接参数化SQL,需要使用sp_executesql来执行参数化SQL。 三、XSS 攻击防护 * 输出到HTML中的文本部分,必须做编码处理(HTML, URL, JS)。 * 可以使用HttpUtility的相关方法:HtmlEncode,HtmlAttributeEncode,UrlEncode,JavaScriptStringEncode。 四、Cookie 安全 * 不能将敏感数据直接保存到Cookie中。 * 如果确实需要将敏感数据临时保存到Cookie中,必须做加密处理。 五、加密算法 * 密码之类的敏感数据一定不能明文保存,只能保存Hash值,并在计算Hash时加入salt处理。 * 不得自己编写加密算法,因为不专业,安全性无法保证,但允许对标准加密算法进行封装。 * Hash算法推荐选择SHA256,对称加密算法推荐选择AES。 * 解密失败时,不得对外抛出异常,否则会被Padding Oracle Attack攻击。 六、其他安全考虑 * 客户端对任何人都是透明的,因此尽量不要将敏感数据发送到客户端,必要时一定要加密处理。 * 动态的反射调用应该仅针对公开方法或者有确定标记的方法。 * 操作文件或者目录,不能直接依据HTTP数据来决定路径,应该有明确的目标(范围)或者采用白名单方式。 七、安全开发规范 * 服务端在处理请求前,必须先验证数据是否合法,以及用户是否具有相关的操作权限。 * 客户端的界面权限控制不能保证系统安全性,那只是为了增强用户体验而已。 * 任何地方都不能将用户输入的文本内容直接输出到HTML中。 遵守这些安全编码的基本准则和开发规范,可以有效地防止各种安全攻击,保护用户的敏感数据,提高系统的整体安全性。
- 粉丝: 1
- 资源: 22
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (18956428)STM32F103C8T6 小系统原理图 PCB
- (175828796)python全国疫情数据爬虫可视化分析系统(django)源码数据库演示.zip
- 记账本项目市场需求文档(MRD)
- (31687028)PID控制器matlab仿真.zip
- 基于SpringBoot的“在线答疑系统”的设计与实现(源码+数据库+文档+PPT).zip
- (11828838)进销存系统源码
- 记账本项目三大模块原型图
- fed54987-3a28-4a7a-9c89-52d3ac6bc048.vsidx
- (177367038)QT实现教务管理系统.zip
- (178041422)基于springboot网上书城系统.zip
评论0