前端面试题:网络攻击方案有哪些,自己有写过什么安全性方面的东西吗?

  1. iframe
  2. opener
  3. CSRF(跨站请求伪造)
  4. XSS(跨站脚本攻击)
  5. ClickJacking(点击劫持)
  6. HSTS(HTTP严格传输安全)
  7. CND劫持
    很难通过技术手段完全避免 XSS,但我们可以总结以下原则减少漏洞的产生:
  • 利用模板引擎 开启模板引擎自带的 HTML 转义功能。例如: 在 ejs 中,尽量使用
    <%= data %> 而不是 <%- data %>; 在 doT.js 中,尽量使用 {{! data } 而不是
    {{= data }; 在 FreeMarker 中,确保引擎版本高于 2.3.24,并且选择正确的
    freemarker.core.OutputFormat。
  • 避免内联事件 尽量不要使用
    onLoad=“onload(‘{{data}}’)”、onClick=“go(‘{{action}}’)” 这种拼接内联事件的写法。在 JavaScript 中通过 .addEventlistener() 事件绑定会更安全。
  • 避免拼接 HTML 前端采用拼接 HTML 的方法比较危险,如果框架允许,使用 createElement、
    setAttribute 之类的方法实现。或者采用比较成熟的渲染框架,如 Vue/React 等。
  • 时刻保持警惕 在插入位置为 DOM 属性、链接等位置时,要打起精神,严加防范。
  • 增加攻击难度,降低攻击后果 通过 CSP、输入长度配置、接口安全措施等方法,增加攻击的难度,降低攻击的后果。
  • 主动检测和发现 可使用 XSS 攻击字符串和自动扫描工具寻找潜在的 XSS 漏洞。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值