架构师训练营第十一周作业
课程总结
常见架构安全问题
SQL 注入
SQL 注入(SQLi)是一种注入攻击,,可以执行恶意 SQL 语句。它通过将任意 SQL 代码插入数据库查询,使攻击者能够完全控制 Web 应用程序后面的数据库服务器。攻击者可以使用 SQL 注入漏洞绕过应用程序安全措施;可以绕过网页或 Web 应用程序的身份验证和授权,并检索整个 SQL 数据库的内容;还可以使用 SQL 注入来添加,修改和删除数据库中的记录。
csrf(跨站请求伪造)攻击
CSRF(Cross-site request forgery):跨站请求伪造。利用用户对网站的信任
方法一: Token 验证:(1)服务器发送给客户端一个 token;(2)客户端提交的表单中带着这个 token。(3)如果这个 token 不合法,那么服务器拒绝这个请求。
方法二:隐藏令牌:把 token 隐藏在 http 的 head 头中。 方法三: Referer 验证:Referer 指的是页面请求来源。意思是,只接受本站的请求,服务器才做响应;如果不是,就拦截。
xss(跨站脚本)攻击
不需要你做任何的登录认证,它会通过合法的操作(比如在 url 中输入、在评论框中输入),向你的页面注入脚本(可能是 js、hmtl 代码块等)盗用 Cookie 破坏页面的正常结构,插入广告等恶意内容 D-doss 攻击
是向网站 注入 JS 代码,然后执行 JS 里的代码,达到篡改网站的内容目的。
安全架构
安全架构包含哪些方面
权限控制
信息加密及秘钥管理
设置web防火墙
网站漏洞扫描
规则引擎
高可用架构度量
度量指标
业界通常用多少个 9 来衡量网站的可用性,如 QQ 的可用性是 4 个 9,即 QQ 服务 99.99%可用,这意味着 QQ 服务要保证其在所有运行时间中,只有 0.01%的时间不可用,也就是一年中大约 53 分钟不可用。网站年度可用性指标=(1-网站不可用时间/年度总时间)×100%。网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点。
故障分管理
故障的处理
一般有监控中心或者事故管理小组管理故障的整个过程。
课后作业
请用你熟悉的编程语言写一个用户密码验证函数,Boolean checkPW(String 用户 ID,String 密码明文,String 密码密文),返回密码是否正确 boolean 值,密码加密算法使用你认为合适的加密算法。
评论