防止点击劫持
- JavaScript禁止内嵌
- 没有带frame的页面
- 带frame的页面
不过H5新增属性,sandbox可以金庸脚本的运行
sandbox="allow-forms"
- X-FRAME-OPTIONS禁止内嵌
头设置
ctx.set('X-FRAME-OPTIONS','DENY');
ALLOW-FORM .....
- 其他辅助:加验证码
- 当小偷的投入比利益更大的,估计没有小偷会这样干。
- PHP:
header('X-FRAME-OPTIONS','DENY')
;
传输安全问题
HTTP传输明文带来的窃听
- 因为localhost是环形链路,所有使用AnyProxy代理
-
anyproxy
HTTP窃听
- 用户名密码
- 传输敏感信息
- 个人资料(银行卡……)
HTTP篡改
- 插入广告
- 重定向网站
- 无法防御XSS和CSRF
- 运营商和局域网劫持
-
TLS(SSL)加密
然而,
中间人攻击
如何确认服务器身份?
- CA(证书颁发机构)
- 前提:
- 证书无法伪造
- 证书私钥不能被泄露
- 域名管理权不能泄露
- CA坚守原则(一定要验证证书,不能乱发证书)
Let’s Encrypt的最大的意义就是推动基础DV HTTPS证书的普及,换句话说就是,推动HTTPS的普及。
查看证书是否受信任
不要随意添加信任的根证书
Mac keycha
Win mmc
- 验证返回指定网站内容(示例)
- 设置DNS记录(对域名有管理权)