美文网首页
前端是否需要对密码进行加密传输 && HTTPS

前端是否需要对密码进行加密传输 && HTTPS

作者: 没事儿啊 | 来源:发表于2018-09-28 17:08 被阅读0次

最近学习node,写demo登陆和注册功能的时候因为要考虑后台的加密和安全所以也想了下前端的,前端传输密码的时候是否应该加密之后再传输呢
看了一些网站的登陆,csdn、简书等是明文传输,但腾讯、百度这些一线大站是经过前端加密的,看了些大佬的文章,顺便自己搬个凳子记个笔记

前端是否需要对密码进行加密传输

前端的加密本身不能对网站的安全性有任何提高功能,所有的关于网站的安全技术都应该放在后台,但是这也不是完全没有意义,可以增加攻击成本,尽可能降低攻击带来的损失,毕竟丢了密文比丢了明文要强,而且犯罪分子技术参差不齐,简单的加密能够拦截很大一部分菜鸟,至于高手。。。

最后看到比较统一的是隐秘信息传输应该使用https

什么是https? ssl证书又是什么

这篇文章只是想弄懂流程和原理,不会去纠结具体的术语

HTTP协议以明文方式发送内容,不提供任何方式的数据加密,处在同一网络中的其它用户可以通过网络抓包来窃取和篡改数据包的内容,甚至运营商或者wifi提供者,有可能会篡改http报文,添加广告等信息以达到盈利的目的

可以通过和SSL(Secure Socket Layer,安全套接层)组合使用来为浏览器和服务器之间的通信加密。在这条加密线路上进行通信的http被称为HTTPS(HTTP Secure,超文本传输安全协议)。

SSL证书(Secure socket layer),就是遵守SSL协议,由受信任的数字证书颁发机构CA颁发,主要用来提供对用户浏览器和服务器的认证,对传送的数据进行加密和隐藏,确保数据在传送中不被改变保证数据的完整性,加密方式为「非对称加密」和「对称加密」。

https的工作流程

1、用户连接到你的Web站点,该Web站点受服务器证书所保护

2、你的服务器进行响应,并自动传送你网站的数字证书给用户,(浏览器内置一个受信任的机构列表和这些机构的证书)用户的浏览器查看该证书是否存在于浏览器的受信任机构列表中,并且通过服务器证书中的信息与当前正在访问的网站(域名等)是否一致来鉴别你的网站,鉴别没成功会提醒用户是否继续该访问

3、鉴别成功后,用户的浏览器产生一把唯一的会话钥匙,用以跟网站之间所有的通讯过程进行加密,会话密钥是随机生成,每次都会有不一样的结果,

4、使用者的浏览器以网站的公钥对交谈钥匙码进行加密,以便只有让你的网站得以阅读此交谈钥匙码

https的优点:

1、使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

2、HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

3、HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

4、谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

https的缺点:

1、HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%

2、HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;

3、SSL证书需要钱,功能越强大的证书费用越高

4、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名

5、HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

参考文章

知乎各位大佬的回答 https://www.zhihu.com/question/25539382
HTTP与HTTPS的区别 https://www.cnblogs.com/wqhwe/p/5407468.html

相关文章

  • 前端是否需要对密码进行加密传输 && HTTPS

    最近学习node,写demo登陆和注册功能的时候因为要考虑后台的加密和安全所以也想了下前端的,前端传输密码的时候是...

  • Jmeter中使用前置处理器加密传输数据

    在实际网站测试中,前端会对用户名和密码加密传参,如下图: 这里就是登录密码进行了加密传输。那么我们解决问题的思路是...

  • RSA加密解密样例

    场景:当未启用HTTPS时,用户的登录密码,以及当用户修改密码时,密码在网络中需要加密传输。 一、交互逻辑 上图中...

  • 2019-01-22 使用JS在前端对表单进行验证

    用户有一个修改密码的功能,我需要浏览器在前端对用户两次输入的密码进行验证是否为空和是否相同 再提交给PHP后台进行...

  • 前端数据处理--密码复杂度验证方法

    前端有时候需要对用户输入的密码进行校验处理,除可做加密处理外,有时应业务需求还要做密码复杂度的校验。(最好是...

  • Https在各种Web服务器下配置

    前言 前端很多情况需要用启动web服务器,而为了保证数据的安全性,都需要用Https对传输的数据进行加密传输,而且...

  • Spring Security

    Basic使用Base64 加密传输密码明文传输 Digest使用MD5 加密传输避免密码明文传输 X.509 证...

  • IOS中非法字符判断

    在用户注册的时候,往往要对用户注册时候输入的密码进行客户端本地判断,判断输入是否为空,长度是否过短,以及是否有非法...

  • 项目之少儿搜索引擎 7.25

    今天主要对前端页面进行渲染

  • 面试相关的问题(2)

    1.http与https的区别 1.HTTPS更安全HTTPS协议是由SSL+http协议构建的可进行加密传输、身...

网友评论

      本文标题:前端是否需要对密码进行加密传输 && HTTPS

      本文链接:https://www.haomeiwen.com/subject/xjbpoftx.html