鉴权是对于用户身份的鉴别。
授权是允许对于特定资源的指定操作。
为了安全考虑,有时候用户鉴权是需要多因子模式的。比如账号密码、人脸、U 盾,多个因子间相互独立、无依赖关系。
常见的 Web 攻击方式
XSS
跨站脚本攻击。通过某种方式在网页上嵌入脚本代码。
CSRF
跨站请求伪造。通过代码让用户发送一些请求。比如访问页面 A 立即跳转到了页面 B 并让你输入用户密码信息。
SQL 注入
利用网站漏铜,通过构造特殊的嵌入了 SQL 命令的网站请求以欺骗服务器并执行恶意 SQL 命令。
// 这个 id 可能被注入恶意代码
const sql = 'DELETE FROM RECORDS WHERE ID = ' + id + " AND STATUS = 'done'"
程序的问题还可以修复和回滚,而数据造成的损失往往很难修复。
如何避免 SQL 注入?
- 严格地校验参数
- 避免使用字符串拼接来执行 sql
- 以最小授权限制权限
HTTP 劫持
如果是 HTTP 请求由于是明文的所以可以在中间进行拦截篡改。
DNS 劫持
在 DNS 查找域名地址 IP 的时候恶意提供一个其他 IP。这个方法比较难以防范。
DDoS 攻击
分布式拒绝服务。攻击者使用若干电脑向网络应用同一时间发起请求,通过一瞬间的请求鸿峰将服务冲垮。
网友评论