复习前端:前端安全

简介: 笔记

14.png随着 Web 的发展,现代 Web 应用程序也在迅速变化。现在,前端代码与后端代码承担几乎相同的责任,甚至更多。为了安全地完成所有事情,需要一个更好的客户端代码安全模型。本文将复习常见安全问题、攻击类型和针对它们的预防措施。

15.png

什么是CSRF攻击?


CSRF 攻击旨在诱骗用户提交表单,最终执行与用户希望执行的操作不同的操作。

CSRF代表跨站请求伪造(Cross-site request forgery),如果黑客在网站上放置了指向另一个网站的外部链接,例如 www.xxx.com/api,默认情况下,如果用户已登录该网站,浏览器将使用 xxx.com 的 cookie 访问该网站。而如果网站没有防御CSRF攻击,服务器就会认为是用户自己调用了这个接口并进行了相关操作,从而导致账号被劫持。


如何防御CSRF攻击

验证 Token:浏览器请求服务器时,服务器返回一个 Token,每次请求都需要带上 Token和 cookie 才算合法请求

验证 Referer:通过验证请求头的 Referer 来验证源站,但是请求头容易伪造

验证同源网站: 为cookie设置SameSite,这样cookie就不会随着跨域请求一起发送,但是浏览器兼容性不同


什么是XSS攻击


XSS 攻击是最大和最危险的攻击形式之一。它们的制作方式是将代码注入 Web 应用程序,最终在最终用户访问时执行恶意操作。

XSS 全称(Cross Site Scripting),是指利用网页开发过程中留下的漏洞,向网页中注入恶意指令代码,使用户加载并执行攻击者恶意创建的网页程序。比如在评论区植入JS代码。该代码在用户进入评论页面时执行,导致页面被植入广告,账号信息被盗。


XSS攻击的类型有哪些

存储型:即攻击存储在服务器上,在评论区插入攻击脚本很常见。如果脚本存储在服务器上,所有看到相应评论的用户都会受到攻击。 反射型:攻击者在URL中混入脚本,服务器接收到URL并将恶意代码作为参数取出,拼接回HTML。浏览器在解析 HTML 后执行恶意代码。 DOM类型:在URL中写入攻击脚本,诱导用户点击URL。如果 URL 被解析,攻击脚本将被执行。与前两者的主要区别是 DOM 类型的攻击不通过服务器。


如何防御XSS攻击

输入检查:转义或过滤 <script><iframe> 输入内容中的标签

设置httpOnly:很多XSS攻击目标都是窃取用户cookie伪造认证,设置该属性可以防止JS获取cookie

开启 CSP (Content Security Policy):即开启白名单,可以防止加载运行白名单外的资源。使用内容安全策略是一种有效的 XSS 攻击预防形式。它需要一个 HTTP 标志来通知浏览器有关可以信任的来源,并作为 iFrame 包含在 Web 应用程序中。在 HTTP 标头中启用 CSP 是一种在很大程度上防止 XSS 攻击的有效方法。当与 X-Frame-Options 结合使用时,它通常可以提供针对 XSS 攻击的可靠防御。


总结


Web 应用程序的安全是前端开发需要考虑的问题,随着应用程序每天面临多种威胁,处理从自动机器人到有针对性的攻击的一切,保持应用程序前端的安全从未如此重要。


相关文章
|
7月前
|
缓存 安全 JavaScript
前端安全:Vue应用中防范XSS和CSRF攻击
【4月更文挑战第23天】本文探讨了在Vue应用中防范XSS和CSRF攻击的重要性。XSS攻击通过注入恶意脚本威胁用户数据,而CSRF则利用用户身份发起非授权请求。防范措施包括:对输入内容转义、使用CSP、选择安全的库;采用Anti-CSRF令牌、同源策略和POST请求对抗CSRF;并实施代码审查、更新依赖及教育团队成员。通过这些实践,可提升Vue应用的安全性,抵御潜在攻击。
1006 0
|
1月前
|
存储 前端开发 安全
前端小白逆袭记:如何快速掌握前端安全知识,保护用户数据安全?
【10月更文挑战第30天】作为一名前端小白,我在初入职场时对前端安全几乎一无所知。但随着项目深入,我逐渐意识到前端安全的重要性,特别是在保护用户数据方面。本文将分享我在快速掌握前端安全知识的心得和技巧,包括防范XSS、CSRF攻击、敏感信息处理、使用HTTPS协议等内容,希望能为同样在前端道路上奋斗的你提供帮助。
31 3
|
4月前
|
Java 开发者 关系型数据库
JSF与AWS的神秘之旅:如何在云端部署JSF应用,让你的Web应用如虎添翼?
【8月更文挑战第31天】在云计算蓬勃发展的今天,AWS已成为企业级应用的首选平台。本文探讨了在AWS上部署JSF(JavaServer Faces)应用的方法,这是一种广泛使用的Java Web框架。通过了解并利用AWS的基础设施与服务,如EC2、RDS 和 S3,开发者能够高效地部署和管理JSF应用。文章还提供了具体的部署步骤示例,并讨论了使用AWS可能遇到的挑战及应对策略,帮助开发者更好地利用AWS的强大功能,提升Web应用开发效率。
73 0
|
4月前
|
安全 算法 前端开发
外滩大会安全 AR 沙盘首秀--背后的前端技术
外滩大会安全 AR 沙盘首秀--背后的前端技术
|
6月前
|
监控 安全 前端开发
前端安全:XSS攻击与防御策略
抵御XSS攻击的关键策略包括输入验证、输出编码、设置安全HTTP头如CSP和X-XSS-Protection、谨慎管理存储和会话、使用DOMPurify等库进行数据清理、采用安全编码实践、教育用户和开发人员、实施多层防御、持续测试和更新。其他措施如使用非渲染模板引擎、限制错误信息、使用WAF、加密数据、遵守安全编码标准和进行安全审计也是重要步骤。
158 0
|
7月前
|
存储 安全 前端开发
PHP医院安全不良事件管理系统源码(AEMS)前端vue2+element+后端laravel8不良事件上报与闭环管理
医院不良事件上报与管理系统结合现代医院管理思路,遵照PDCA全面质量循环管理方法而设计,并在多家大型三甲医院成熟运用。系统从事件上报、基于人、机、料、法 、环的RCA分析、事件整改、效果评估实现了结构化、标准化、智能化的管理和分析,满足医院可追溯化、全流程闭环管理要求,满足等级医院评审细则要求,大力提高医院不良事件上报的效率,保障事件分析的准确性,促进医疗安全的提高,避免同类事件再次发生,改善整个医院医疗安全,从而实现医院安全医疗的目标。
85 3
|
7月前
|
SQL 安全 前端开发
前端安全方面
前端安全方面
52 0
|
7月前
|
缓存 负载均衡 前端开发
前端反向代理的神奇世界:加速、安全与缓存的秘密(上)
前端反向代理的神奇世界:加速、安全与缓存的秘密(上)
前端反向代理的神奇世界:加速、安全与缓存的秘密(上)
|
7月前
|
缓存 前端开发 安全
前端反向代理的神奇世界:加速、安全与缓存的秘密(下)
前端反向代理的神奇世界:加速、安全与缓存的秘密(下)
|
7月前
|
安全 前端开发 算法
前端知识笔记(三十八)———HTTPS:保护网络通信安全的关键
前端知识笔记(三十八)———HTTPS:保护网络通信安全的关键
75 0
下一篇
DataWorks