前端常见安全攻击手段及防御策略
1. XSS (跨站脚本攻击)
Cross Site Scripting,跨站脚本攻击。 手段:黑客将 JS 代码插入到网页内容中,渲染时执行 JS 代码。 预防:特殊字符替换(前端或者后端)。

使用 img 标签加载资源有时可规避部分跨域限制。Vue 和 React 默认会屏蔽 XSS 攻击,但以下情况需注意:
- Vue 中使用 v-html
- React 中使用 dangerouslySetInnerHTML
2. CSRF (跨站请求伪造)
Cross Site Request Forgery,跨站请求伪造。 手段:黑客诱导用户访问另一个网站的接口,伪造请求。 详细过程:
- 用户登录了 A 网站,拥有 Cookie。
- 黑客诱导用户访问 B 网站,并发起 A 网站的请求。
- A 网站的 API 发现携带 Cookie,误认为是用户自己操作。
预防手段:
- 严格的跨域请求限制,如判断 Referrer(请求来源)。
- 为 Cookie 设置 SameSite,禁止跨域传递 Cookie。
- 关键接口使用短信验证码。
3. 点击劫持 (Clickjacking)
手段:诱导界面上蒙一个透明的 iframe,诱导用户点击。 预防:让 iframe 不能跨域加载。

4. DDoS (分布式拒绝服务)
Distribute denial-of-service,分布式拒绝服务。 手段:分布式的、大规模的流量访问,导致服务器瘫痪。 预防:软件层较难防御,需硬件预防(如阿里云 WAF)。
5. SQL 注入
手段:黑客提交内容时写入 SQL 语句,破坏数据库。

预防:处理输入的内容,替换特殊字符。
总结
预防攻击,要前后端各司其职,而不要依赖于单一角色(如仅依赖后端)。


