安全性是六大质量属性中及其重要的,往往被开发者忽略;但如果忽略了安全性出现安全问题却是难以挽救的。
(一)安全性战术的目标是:
1,检测网络攻击;
2,抵抗网络攻击;
3,很快的从攻击中恢复。
(二)常见的安全攻击有:
1,XSS攻击:即跨站点脚本攻击,指黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。分类:反射型和持久型
解决方式:1,消毒(将特殊字符转义)2,禁止访问带有HttpOnly的敏感Cookie数据,
2,注入攻击:如SQL注入,OS注入
解决方式:1,消毒(通过正则表达式过滤可能的恶意SQL命令)2,参数绑定
3,CSRF攻击:跨站点请求伪造,伪造用户请求
解决方式:1,添加表单Token(标记)2,验证码3,Referer check
4,Error Code:错误回显,通过系统报错的信息寻找漏洞
解决方式:通过配置web服务器参数跳转500专门错误页面
5,HTML注释:
6,文件上传:通过上传可执行程序进行攻击。
解决方式:限制上传文件类型
7,路径遍历
(三)提起安全性就不得不提数据加密的问题,常见的数据加密:
(四)安全性常用战术:
(五)安全性在信息热词系统中的使用:
1,首先用户注册登录的账号和密码要进行信息加密;避免不法用户破解密码;
2,其次在用户输入账号和密码时添加输入验证码,防止暴力破解,以及需要查询词条等所有输入框禁止用户输入非法字符。从而避免SQL注入问题;
3,在代码中多使用try...catch...,如果出现问题则抛异常;在前端页面显示时,如果出现问题统一跳转到一个报错页面;
4,如果用户不进行注册直接访问某个中间网页时,则提示登录;
5,页面与页面之间跳转的Cookie中有隐蔽信息的设置为HttpOnly属性避免XSS攻击;
等等
六大质量属性—安全性代码层面描述(以“信息领域热词分析系统”为例)
原文:https://www.cnblogs.com/lq13035130506/p/12391762.html