安全

2020全网最全前端业务安全综述

前言

上一篇面试总结中其实埋了很多坑,做到点到为止,但是坑还是需要埋的,今天这篇文章就是埋第一个坑。上篇总结中就有一个题目

33.能说一下你项目中遇到了哪些安全问题么,一般都是怎么解决的?

xss、csrf、爬虫、薅羊毛等安全问题传输加密、接口加签、环境变量、token、输入校验等

那么前端平时开发中涉及到哪些安全问题呢,又都是怎么解决的呢,本文将一网打尽,同时建议各大中小公司,能够在公司内部实施的安全措施都应该实施起来。…

    

在HTML上添加integrity,验证js和css的hash,防止篡改

近期甲方做了什么安全检查防止html、js被串改,要求加上integrity属性这边记录下如何生成hash值

计算hash

在linux上面使用此命令计算你需要生成hash的文件

[root@hhlqrtest js]# cat ./util.js | openssl dgst -sha384 -binary | openssl enc -base64 -A                
rfhUX/daSXdrSIHpOOPTxq222dR4unGS9FO+MsBx/DHDzaWWQwiWyqHKERHtNMnG
[root@hhlqrtest js]# 
rfhUX/daSXdrSIHpOOPTxq222dR4unGS9FO+MsBx/DHDzaWWQwiWyqHKERHtNMnG

这一行就是我们需要的hash值

添加integrity属性

crossorigin="anonymous" integrity="sha384-[刚刚的hash值]"

例如:…

            

如何选择laravel的身份认证系统

最近经常有人问如何使用laravel的身份认证功能,因为laravel的身份认证方式比较多,laravel的作者最近专门写了一文章来解释说明,以下为译文:

laravel认证生态系统概述

Laravel提供了一些与身份验证相关的软件包。在继续之前,我们将回顾Laravel中的常规身份验证生态系统,并讨论每个软件包的预期目的。

首先,请考虑身份验证的工作原理。使用网络浏览器时,用户将通过登录表单提供其用户名和密码。如果这些凭据正确,则应用程序将在用户的会话中存储有关经过身份验证的用户的信息。发布给浏览器的cookie包含会话ID,以便对应用程序的后续请求可以将用户与正确的会话相关联。接收到会话cookie后,应用程序将基于会话ID检索会话数据,注意身份验证信息已存储在会话中,并将用户视为“已身份验证”。

当远程服务需要进行身份验证才能访问API时,通常不使用cookie,因为没有Web浏览器。而是,远程服务根据每个请求将API令牌发送到API。应用程序可以对照有效API令牌表验证传入令牌,并“认证”与该API令牌相关联的用户正在执行的请求。…

                

通过短信发送的一次性验证码 的标准发布

GitHub 最近宣布,它正在采用SMS一次性密码(例如,两因素身份验证代码)格式的标准草案,以帮助阻止网络钓鱼攻击。

短信注意事项

在开始详细介绍之前,需要注意的是,使用一次性短信作为SMS的安全性比使用诸如Authy之类的专用应用程序的安全性低,因为该方法容易受到SIM交换攻击的攻击。它们也很不方便 -有时消息会花一些时间才能到达,如果用户不在手机范围内或在出国旅行时更换了SIM卡,则根本不会收到消息。

也就是说,通过SMS一次性获得密码很重要-它们是传递2FA代码的最常见方式,因为它们可以与用户已经拥有的技术一起使用。下载专用于管理2FA代码的专用应用程序超出了许多用户的范围。

这个怎么运作

标准背后的想法是预定义的SMS(文本消息)格式,如下所示:

什么是CSRF令牌,它如何工作?

许多现代的Web框架(如Laravel或Play框架)都具有内置支持,可保护您的Web应用程序免受跨站点请求伪造  (CSRF)的侵害  。这是一件好事,但是并不是每个开发人员何时以及如何使用它都总是不清楚。在本文中,我尝试给出一些(希望)易于理解的答案。

在潜入之前,让我们提醒自己一些规则和限制:…