群的伸缩性设计
NoSQL 数据库的伸缩性设计
可扩展
系统架构设计层面的“开闭原则”
- 构建可扩展的网站架构
- 利用分布式消息队列降低耦合性
- 事件驱动架构(Event Driven Architecture)
- 分布式消息队列
- 利用分布式服务打造可复用的业务平台
- Web Service 与企业级分布式服务
- 大型网站分布式服务的特点
- 分布式服务框架设计(Thrift, Dubbo)
- 可扩展的数据结构(如 ColumnFamily 设计)
- 利用开放平台建设网站生态圈
网站的安全架构
XSS 攻击和 SQL 注入攻击是构成网站应用攻击最主要的两种手段,此外还包括 CSRF,Session 劫持等手段。
- 攻击与防御
- XSS 攻击:跨站点脚本攻击(Cross Site Script)
- XSS 防御手段
- 消毒(即对某些 html 危险字符转义)
- HttpOnly
- 注入攻击
- 注入防御
- CSRF 攻击:跨站点请求伪造(Cross Site Request Forgery)
- CSRF 防御:主要手段是识别请求者身份
- 表单 Token
- 验证码
- Referer Check
- 其他攻击和漏洞
- Error Code
- HTML 注释
- 文件上传
- 路径遍历
- Web 应用防火墙(ModSecurity)
- 网站安全漏洞扫描
- 信息加密技术及密钥安全管理
- 单向散列加密:不同输入长度的信息通过散列计算得到固定长度的输出
- 不可逆,非明文
- 可加盐(salt)增加安全性
- 输入的微小变化会导致输出完全不同
- 对称加密:加密和解密使用同一个密钥
- 非对称加密
- 信息传输:公钥加密,私钥解密
- 数字签名:私钥加密,公钥解密
- 密钥安全管理:信息安全传输是靠密钥保证的,改善手段有:
- 把密钥和算法放在一个独立的服务器上
- 将加解密算法放在应用系统中,密钥放在独立服务器
- 信息过滤与反垃圾