
密码加密
、
哈希和加盐
|
27
•
添加
2FA
(
two-factor authentication
,双因素身份验证)机制,例如使用
Authy
(
https://www.au-thy.com
)等服务通过短信验证电话号码。
第
5
章将说明如何借助
Authy
实现
2FA
。下面说明如何在网站中添加验证码。
使用
reCAPTCHA
添加验证码
防止攻击者不断尝试不同密码的方法之一是使用验证码。验证码通常在登录
失败一两次之后使用,因为有可能只是用户忘记密码了,也有可能是攻击者
在尝试不同的密码组合,试图发起暴力攻击。
使用验证码
与多数安全防范措施一样,应该尽量少影响用户。不要每次登录都要求输入
验证码,这样增加了登录的步骤。在登录失败一两次之后再显示的话,大多
数用户都不会受到影响。即便是那些看到验证码的用户基本上也会理解这么
做是为了提升后续登录的安全性。
众多验证码系统中,较为优秀的一个是
Google
的
reCAPTCHA
(
https://www.
google.com/recaptcha/intro/in-dex.html
)。它的用户界面精美且简单,往往只
要求用户单击一个复选框,证明自己不是机器人。这样对用户的影响微小,
而传统的验证码系统要求用户输入图片或音频中的词。
reCAPTCHA
简单易用,
而且提供了较强的安全保护,能防范机器人和自动化攻击。
了解这些知识之后,下面来看看如何在我们的网站中添加
reCAPTCHA
,并在
Node
服务器中确认用户的输入。首先,要访问
reCAPTCHA
的管理页面(
https://
www ...