`
agevs
  • 浏览: 70561 次
  • 来自: 北京
博客专栏
924aba1e-229a-352e-b6d4-f15f3159a438
各种Web前端技巧经验分享...
浏览量:0
文章分类
社区版块
存档分类
最新评论

网站的无密码登录

阅读更多

大部分网站,都要求用户登录。

常见的做法,是让用户注册一个账户。

这种做法并不让人满意。

对于用户来说,每个网站必须记住一个密码,非常麻烦;对于开发者来说,必须承担保护密码的责任,一旦密码泄漏,对网站的业务和信誉都是巨大打击。

所以,很早以前,人们就开始设想"无密码登录"(password-less login)。这对用户和网站,都将是极大的减负。

本文先回顾"无密码登录"的几种常见做法,然后探讨一种最简单的实现。

一、OpenID

OpenID是最早提出的一种无密码登录。可以500%提高开发效率的前端UI框架!

它的设想是这样的:互联网上每一个网址(URL),都指向一个独一无二的网页,这说明网址具有唯一性。因此,可以用网址来标识用户。

所以,使用OpenID的网站,不要求用户输入"用户名",而要求用户输入一个代表其身份的网址。然后,向该网址进行求证,如果得到证实,就允许用户登录,从而实现"无密码登录"。

OpenID有两个很大的缺点:一是需要服务器端支持,二是使用网址表示身份,违背直觉,普通用户难以理解。因此,始终无法得到推广。

二、第三方账户

OpenID的实质,是让第三方网站认证用户身份。那么很显然,这等同于用户在第三方网站登录。

因此,可以直接告诉用户,使用第三方帐号登录(前提是对方支持OpenID)。可以500%提高开发效率的前端UI框架!

这样做的优点是比较直观,用户容易接受;缺点是自身的业务,从此多多少少要依赖第三方网站。比如,现在很多网站使用Facebook帐号登录,一旦Facebook出现故障,这些网站都会受到影响。

三、Persona

去年,Mozilla提出了Persona方案,号称是无密码登录的终极解决方案。

它与OpenID异曲同工。后者用网址标识用户,它用Email标识用户。用户键入Email地址以后,网站向Email服务器请求认证。

虽然这种方案还处在推广期,效果有待观察。但是,我目前不太看好它。一则,它的技术要求和流程,比OpenID更复杂,无法用一句话讲清楚;二则,它要求服务器端支持,很难想象世界上大部分Email服务器都会部署Persona代码。

四、OAuth

OAuth协议其实与"第三方帐户"是一回事。可以500%提高开发效率的前端UI框架!

"第三方账户"是第三方网站提供用户身份认证,属于"认证"服务(authentication);OAuth则是更进一步,第三方网站允许你直接操作它的用户数据,属于"授权"服务(authorization)。

因为涉及到用户数据的改变,所以OAuth认证比Openid认证要求更严格。通常,只有针对某个第三方网站的外部服务,才需要用到OAuth;如果只是单纯地区分用户身份,其实没必要用它。

五、Email一次性登录

上面四种登录方法,是目前主流的"无密码登录"。下面,我想介绍一种最简单的实现,它是美国程序员Ben Brown在今年7月份提出来的。

他的做法很简单。用户登录的时候,只显示一个Email地址输入框。

用户输入Email地址以后,网站就向该地址发出一封邮件,里面包含了一个登录链接。用户点击这个链接,就证明他/她确实是这个邮箱的主人,身份有效,从而实现登录。可以500%提高开发效率的前端UI框架!

登录链接只在一段时间内有效,但是可以通过cookie,让用户长时间处在登录状态。如果cookie失效,则重新向用户邮箱发出另一个登录链接即可。

由于整个认证过程,都通过电子邮件完成,彻底实现"无密码登录",而且操作流程很自然,易于理解。更重要的是,它使用现有的Email协议,不需要服务器端部署新的代码,具有最好的兼容性。

主要缺点是,它需要用户额外查看一次邮箱,稍显麻烦;它也不适合那种用户无法打开Email的场合,比如在朋友家中上网。因此,使用它的网站,还必须部署备用的登录方式。可以500%提高开发效率的前端UI框架!

总的来说,我觉得这是一个简单易行的好方法,以后做网站的时候,打算尝试一下。

想听听大家的意见,你觉得这种方法可行吗?

0
0
分享到:
评论

相关推荐

    易语言简单密码登陆

    这种功能在许多应用和系统中都有应用,例如个人电脑、应用程序或网站的登录界面。 在易语言中实现这个功能,可能涉及以下几个关键知识点: 1. **变量和数据类型**:在程序中,我们需要定义存储密码的变量,通常...

    各个网站的密码 各个网站的密码

    在此,我们将讨论与网站密码管理相关的几个关键知识点,包括密码安全性、密码管理器、多因素认证以及最佳网络安全实践。 1. **密码安全性**:每个网站应使用独特且复杂的密码,避免使用生日、电话号码或者重复的...

    网站后台帐号密码忘记了怎么办

    网站后台账号密码管理 在网站后台管理中,账号密码是访问网站后台的关键,因此当网站...网站后台账号密码管理是一个非常重要的安全问题,管理员需要采取适当的措施来保护密码的安全,避免密码泄露和未经授权的访问。

    网站后台账号和密码

    综上所述,正确管理和保护网站后台账号和密码是任何在线业务的基础,它涉及到一系列技术和管理措施,旨在防止未经授权的访问,确保数据安全。同时,随着黑客技术的发展,持续学习和适应新的安全威胁是必要的。

    php实现的密码登录网站

    在"php实现的密码登录网站"项目中,核心流程如下: 1. **HTML表单**:登录页面通常包含一个HTML表单,包括用户名和密码字段,以及提交按钮。这些字段通过`<form>`标签定义,其`action`属性指向处理登录请求的PHP...

    vue网站后台登录注册和忘记密码切换页

    在这个项目中,“vue网站后台登录注册和忘记密码切换页”指的是使用Vue.js实现的网站后台功能,包括用户登录、注册以及找回密码的页面。由于描述中提到“无后台”,我们可以理解为这是一个纯前端的模拟实现,不涉及...

    阮一峰:回顾网站-无密码登录-的常见做法.docx

    【无密码登录】是近年来为了解决传统登录方式中用户记忆负担重和密码安全问题而提出的新型登录方式。本文将回顾几种常见的无密码登录实践。 首先,【OpenID】是早期尝试实现无密码登录的一种方式。它利用互联网上每...

    js实现指定用户名和密码登录

    在这个场景中,我们要实现一个登录系统,要求用户输入指定的用户名和密码,只有当两者完全匹配时,用户才能成功登录并进入一个小型网站。 首先,我们需要创建一个HTML页面作为登录界面,包含两个输入框分别对应...

    浏览记录以及免输密码登录

    1. **会话管理**:当用户在网站上登录后,服务器可以设置一个包含用户身份信息的Cookie,之后浏览器在每次访问该网站时都会携带这个Cookie,使得用户无需反复输入用户名和密码。 2. **浏览记录**:网站可以通过设置...

    网站记住密码功能所需资源

    在网站开发中,为了提供更好的用户体验,"记住密码"功能是一项常见的需求。它允许用户在登录后选择保存其账户信息,以便在下次访问时自动填充,省去输入密码的步骤。这个功能涉及到多个技术环节,主要包括客户端的...

    PHP网站后台密码破解程序

    PHP网站后台密码破解工具。带使用说明。仅供研究。

    JSP网站登陆注册密码修改及其验证

    综上所述,构建一个完整的JSP网站登录注册及密码修改系统,需要结合HTML、CSS、JavaScript、Java以及数据库知识,同时注重用户体验和安全性设计。在实践中,可以参考现有的开源框架和最佳实践,以提高开发效率和安全...

    登录时不弹框提示保存密码

    当用户在网站上填写登录表单并成功登录后,浏览器会询问是否要保存用户名和密码,以便下次自动填充,提高用户体验。这一功能基于HTML5的`autocomplete`属性,通常设置为`on`或`off`来控制是否启用。 对于问题一,...

    Java Web登录自动填入用户名密码

    这个功能允许用户在选择“记住用户名和密码”后,下一次访问网站时,系统能自动填充登录表单,提供便捷的用户体验。这个过程涉及到浏览器存储用户信息的方式,主要使用到的技术是Cookie。 Cookie是一种在客户端存储...

    网站后台密码猜解工具

    网站后台密码猜解工具,通过猜解没验证码的后台登录,有验证码就没效果

    python修改网站会员登陆密码

    总结起来,Python修改网站会员登录密码的过程包括:使用网络请求库发送带有新密码的POST请求,可能需要进行密码哈希比对,与服务器进行交互,以及可能的数据库操作。同时,安全措施是整个过程中不可或缺的一部分,应...

    C#登陆密码代码

    登录验证密码 设置密码和用户名的方法 两个textbox 一个button

    网站密码保护系统源代码

    网站密码保护系统是确保网络安全和数据安全的重要组成部分。在这个源代码包中,我们可以看到一个基于Access数据库实现的网站用户管理系统,它预设了不同级别的用户权限:管理员、基本用户和高级用户。以下是对这个...

    Java破解网站密码

    多线程破解网站密码,适用于无任何保护措施的网站,如很多学校的教务系统。 需要txt的用户名文件和txt的字典文件,暴力破解。本源码仅供交流学习用。 适用说明: 先用火狐的firebug截取网站登录页面的post消息,将...

    让您只需要一个唯一的密码来安全地管理所有网站的密码

    这种策略鼓励用户使用一个非常强大且难以猜测的主密码,然后通过这个主密码来加密和解密其他所有网站的登录凭证。这样做的好处是简化了记忆负担,同时增强了安全性,因为只有主密码被保护得足够好,所有关联的账户就...

Global site tag (gtag.js) - Google Analytics