当前位置:Gxlcms > PHP教程 > PHP网站注册登录功能的原理是什么?

PHP网站注册登录功能的原理是什么?

时间:2021-07-01 10:21:17 帮助过:37人阅读

能介绍一下吗?我想做一个网站。

回复内容:

  • 注册
    • 状态判断:如果是已登录状态(通过COOKIE验证),该页面跳转至网站首页;否则显示该注册页面。
    • 表单填写:前端页面一个Form,主要包括邮箱、密码、重复密码、验证码等。
    • 前端判断格式:通过JS正则表达式判断邮箱是否符合邮箱格式、密码是否符合一定长度和难度等。
    • 判断是否已注册:AJAX判断该邮箱是否已被注册,如果是,则提示登录;否则继续。
    • 表单提交:POST表单。
    • 后台判断格式:防止前端JS被修改或者直接POST数据,需要后台再次验证数据格式。
    • 插入数据库:在表单各数据正确无误的情况下将新用户的相关信息插入数据库(密码需加密处理,不能明文显示),并返回新用户的用户ID等相关资料。
    • 跳转到登录状态:通过用户ID等资料给用户添加COOKIE保持其登录状态。
  • 登录
    • 状态判断:如果是已登录状态,该页面跳转至网站首页;否则显示该登录页面。
    • 表单填写:前端一个Form,包括邮箱和密码。
    • 前端判断格式:判断邮箱是否符合邮箱格式、密码是否符合长度等。
    • 表单提交:POST表单。
    • 后台匹配:查找是否存在该用户;匹配该用户密码;返回是否匹配。
    • 页面跳转:匹配成功,则添加COOKIE保持登录状态;否则提示相关错误,并跳回登录状态。

评论@钟云龙 补充:
1. 邮箱验证
对于大部分使用邮箱作为 id 登录的网站,一般会发送一个验证 URL 来验证你是否是该邮件的主人(其实非必须),基本原理很简单,在用户表里加入2个字段:一个随机生成的验证码和一个验证状态。该验证码包含在邮箱发送的 URL 里。

2. OAuth
OAuth 是目前使用第三方帐号注册和登录的协议,目前最新版本为 OAuth 2.0。国内最常使用的三方帐号是微博和QQ等、国外是 Google, Facebook 等。在使用它们之前,需要向提供该帐号的提出申请,获得 appkey 和 appsecret,设置 redirect uri ,有时还需要下载相关的 SDK 等,进行一系列配置方可使用。 blog.xuite.net/gotrans/
[PHP] 使用Sessions 及Cookie 保持登入(記得我)狀態功能
會員登入的處理, PHP MySQL
books.google.com.hk/boo
http://codepen.io/
http://denghao.me/
http://www.w3schools.com/

人气教程排行