用户
认证
、用户
登录
和用户
授权
,确保用户安全访问系统和服务方面起着重要作用:
- 用户认证(User Authentication): 用户认证是指验证用户身份的过程。这是确保只有合法用户才能访问系统的第一步。通常涉及用户提供某种形式的身份证明,如用户名/密码组合、多因素认证(MFA)、生物特征(指纹、面部识别)等。认证的目的是确认用户是谁。
- 用户登录(User Login): 用户登录是用户实际进入系统的操作。在用户提供了正确的认证信息后,系统会创建一个会话或令牌(如JWT),允许用户在一段时间内访问系统,而不必反复认证。登录过程通常涉及用户提交认证信息(如用户名和密码),然后系统验证这些信息并创建一个会话状态。
- 用户授权(User Authorization): 用户授权是在用户已通过认证并登录之后,确定用户可以访问哪些资源或执行哪些操作的过程。授权决定了用户的权限级别,比如哪些页面、文件或功能是用户可以访问的。授权可以基于角色(Role-Based Access Control, RBAC)、访问控制列表(Access Control List, ACL)或其他策略。
总结来说:认证是验证用户的身份,登录是基于认证成功后创建的会话或令牌让用户进入系统,而授权则是在用户登录后控制他们能够访问的内容和功能。这三个步骤共同确保了系统的安全性和用户访问的可控性。
1. 认证:Authentication
认证是指我们如何验证访问者的身份
。一个常见的验证用户的方法是要求用户输入用户名和密码。一旦进行了认证
,我们就知道了身份并可以执行授权
。
2. 防范漏洞攻击
2.1 CSRF:跨站请求伪造
CSRF攻击之所以可能,是因为来自受害者网站的HTTP请求和来自攻击者网站的请求是完全相同
的,怎样区分这两个请求,也就能阻止恶意的请求。
解决:
- 同步令牌(Synchronizer
Token
)模式
- 在你的 session cookie 上指定
SameSite
属性
服务器可以在设置cookie时指定 SameSite 属性,以表明来自外部网站的cookie不应该被发送。