2025前端最新面试题-安全篇

你知道哪些前端攻击?该如何预防?

XSS

  • Cross Site Script 跨站脚本攻击
  • 手段:黑客将 JS 代码 插入到网页内容中,渲染时执行 JS 代码
  • 预防:特殊字符替换(前端或者后端),如 < > 替换成 &lt &gt
  • Vue、React 默认屏蔽了 xss 攻击
  • 但是 Vue (v-html)、React (dangerouslySetInnerHTML) 会导致 xss 攻击,所以尽可能不要使用这两个

CSRF

  • Cross Site Request Forgery 跨站请求伪造
  • 手段:黑客诱导用户去访问另一个网站的接口,伪造请求
  • 预防:严格的跨域限制 + 验证码机制
  • axios 默认做了 CSRF 攻击的措施

详细过程

  • 用户登录了 A 网站,有了 cookie
  • 黑客诱导用户到 B 网站,并发起 A 网站的请求
  • A 网站的 API 发现有 cookie, 认为是用户自己操作的

SCRF 预防手段

  • 严格的跨域请求限制,如判断 referrer (请求来源)
  • 为 cookie 设置 SameSite, 禁止跨域传递 cookie
  • 关键接口使用短信验证码

点击劫持

  • Click Jacking
  • 手段:诱导界面上蒙一个透明的 iframe, 诱导用户点击
  • 预防:让 iframe 不能跨域加载 (Response headers 设置 X-Frame-Options: sameorigin)

总结:前端攻击有哪些

  • XSS
  • CSRF
  • SCRF
  • 点击劫持

关于前端、后端安全或者其他校验等,前后端都要一起做,即使做重复了,也要做

相关推荐
共享家952718 小时前
搭建 AI 聊天机器人:”我的人生我做主“
前端·javascript·css·python·pycharm·html·状态模式
疯狂的喵18 小时前
C++编译期多态实现
开发语言·c++·算法
2301_7657031418 小时前
C++中的协程编程
开发语言·c++·算法
m0_7487080518 小时前
实时数据压缩库
开发语言·c++·算法
lly20240619 小时前
jQuery Mobile 表格
开发语言
惊讶的猫19 小时前
探究StringBuilder和StringBuffer的线程安全问题
java·开发语言
Halo_tjn19 小时前
基于封装的专项 知识点
java·前端·python·算法
m0_7482331720 小时前
30秒掌握C++核心精髓
开发语言·c++
摘星编程20 小时前
OpenHarmony环境下React Native:自定义useTruncate文本截断
javascript·react native·react.js
Fleshy数模20 小时前
从数据获取到突破限制:Python爬虫进阶实战全攻略
java·开发语言