当前位置: 首页 > news >正文

山东省建设工程管理局网站网站源代码安装

山东省建设工程管理局网站,网站源代码安装,珠海知名网站,柳州微网站开发需求优化点:MySQL表常用功能模块实现方案index页面home页面需求 实现一个登录功能 实现的功能 注册(邮箱注册)登录(邮箱密码)重置密码查看操作记录(登录, 注册, 重置密码, 登出. 都算操作)登出在第2版的基础上进行优化:\ 优化点: VerificationCode(验证码储存库): 增加时间字段…

  • 需求
    • 优化点:
  • MySQL表
  • 常用功能模块
  • 实现方案
    • index页面
    • home页面

需求

实现一个登录功能

实现的功能

  1. 注册(邮箱注册)
  2. 登录(邮箱+密码)
  3. 重置密码
  4. 查看操作记录(登录, 注册, 重置密码, 登出. 都算操作)
  5. 登出

在第2版的基础上进行优化:\

优化点:

  1. VerificationCode(验证码储存库):
    增加时间字段ExpirationTime数据类型int用于储存验证码的过期时间,增加次数字段time用于储存验证的次数,用于判断用户是否在发送验证码之后进行验证

  2. SignInList(登录列表)

增加ExpirationTime储存过期时间,如果用户发送请求的时间超过过期时间,则视为用户掉线,需要重新登陆.

  1. 采用图片验证:
    由于滑动验证过于复杂,我们采用图片验证码的形式进行真人验证

MySQL表

  1. LoginList(注册列表)
名称数据类型
id(主键)int
name(唯一)string
passwordstring
Email(唯一)string
  1. SignInList(登录列表)
名称数据类型
id (主键)int
身份码string
ExpirationTimeint

解释:身份码为随机字符串,用于对用户操作是进行身份验证,ExpirationTime储存过期时间,如果用户发送请求的时间超过过期时间,则视为用户掉线,需要重新登陆.

  1. OperationRecord(操作列表)
名称数据类型
idint
操作string
timestring
  1. VerificationCode(验证码储存库)
名称数据类型
Emailstring
Verificationint
ExpirationTimeint
timeint

ExpirationTime储存验证码过期时间,如果用户验证时间超过ExpirationTime则验证无效

每次只查询最后一条匹配的数据(最新生成的验证码数据)

常用功能模块

1. 邮箱验证码功能

  1. 用户传入邮箱信息
  2. 核验邮箱格式正确且未使用
  3. 弹出真人验证:图片验证
  4. 生成验证码(随机6位数),与Email一起存入VerificationCode(验证码储存库),同时储存验证码过期时间,次数为默认值0
  5. 向用户邮箱发送验证码
  6. 服务端使用用户的提交验证码时的Email去VerificationCode(验证码储存库)获取最后一条匹配的数据(最新生成的验证码数据)的过期时间,和验证码值,如果现在的时间大于过期时间,返回验证码过期,如果小于过期时间,对比传入的数据与数据库中验证码的值Verification(验证码值)是否相同,.
  7. 处理用户请求
  8. 每30分钟扫描一次数据库,删除超过30的数据

特殊情况:
9. 重新提交:如果验证码生成后,该用户未进行任何验证(time=0),则生成相同的验证码,并告知用户,如果之前有验证失败(time>0),就生成不同的验证码.避免某些用户在5分钟内没法收到验证码的情况.

身份验证功能:

为确保用户的身份与登录状态,我们使用身份验证功能来实现

  1. 用户请求(自带身份码(随机字符串)与id)
  2. 使用id查找SignInList(登录列表)的对应信息(如果没有,返回未登录并退回登录页面)
  3. 检查身份码与过期时间(如果身份码不正确或者已过期,返回登录过期并退回登录页面)
  4. 核验成功重置过期时间(从核验成功开始30分钟后)
  5. 处理用户的请求
  6. 每30分钟扫描一次数据库,删除超过30的数据

密码验证功能

  1. 用户上传邮箱/账号(id)+密码
  2. 真人验证:图片验证
  3. 密码加密
  4. 查找LoginList(注册列表)中对应的邮箱/账号(如果没有返回账号/邮箱未注册)
  5. 核验密码是否正确
  6. 处理用户请求

储存操作信息功能

  1. 通过请求数据的id与方法确定请求操作的种类,将post操作的内容与id和请求时间一起储存在OperationRecord(操作列表)中

实现方案

index页面

/index

定义一个index页面包含两个按钮login(注册)和sign up(登录) 点击login进入注册页面,点击sign up进入登录页面

login(注册)

index/login (1).邮箱验证

  1. 填写邮箱点击发送
  2. 调用邮箱验证功能模块

(2)注册:

注册表单:

名称数据类型
namestring
passwordstring
  1. 先验证name是否有效与是否被使用(例如:name不能超过10个字符且字符都在ASCII中)

  2. 核验password是否规范(例如:大于6位小于20位) 确认没问题后

  3. 将用户数据(注册的Email,name,password)储存到LoginList(注册列表),并自增出一个新的ID

(4)调用储存操作信息功能模块

alt

sign up(登录)

index/signup

  1. 邮箱/账号+密码登录

账号密码登录表单:

名称数据类型
Email/idstring /int
passwordstring
  1. 调用密码验证功能模块
  2. 生成身份码(随机字符串),与id一起储存在SignInList(登录列表)中,过期时间为当前时间加30分钟,(每次操作后刷新过期时间都是当前时间+30分钟)
  3. 返回用户身份码与id(每次访问都会自动带上)
  4. 进入home页面 (5). 调用储存操作信息功能模块
alt
  1. 验证码登录

验证码登录表单:

名称数据类型
Emailstring
验证码int
  1. 调用 邮箱验证码功能模块
  2. 生成身份码(随机字符串),与id一起储存在SignInList(登录列表)中,过期时间为当前时间加30分钟,(每次操作后刷新过期时间都是当前时间+30分钟)
  3. 返回用户身份码与id(每次访问都会自动带上)
  4. 进入home页面 (5). 调用储存操作信息功能模块
alt

home页面

/home

  • 定义三个按钮 sign out(登出),reset password(重置密码),view(查看操作记录)

sign out(登出)

home/signout

  1. 调用身份验证功能模块
  2. 通过用户的Email,删除SignInList(登录列表)对应的数据.
  3. 回到index页面 (4) 调用储存操作信息功能模块
alt

reset password(重置密码)

home/resetpassword 两个按钮:旧密码改密|验证码改密

1. 旧密码密码改密

(1).调用身份验证功能模块

旧密码改密表单:

名称数据类型
passwordstring
new passwordstring
new password againstring

(2). 用户填写表单信息,点击提交.

(3). 调用密码验证功能模块

(4). 检验newpassword格式是否正确

(5). 检验password again密码是否相同

(6). 核验成功,服务端修改MySQL中的 LoginList(注册列表)中对应的id下的password

(7). 调用储存操作信息功能模块

alt
2. 验证码改密

(1).调用身份验证功能模块

验证码改密表单:

名称数据类型
验证码int

(2). 用户填写表单信息,点击提交.

(3). 调用邮箱验证码功能模块

(4). 检验newpassword格式是否正确

(5). 检验password again密码是否相同

(6). 核验成功,服务端修改MySQL中的 LoginList(注册列表)中对应的id下的password

(7). 调用储存操作信息功能模块

alt

查询操作记录

  1. 调用储存操作信息功能模块

  2. 服务端查询OperationRecord(操作列表)中的所有id为用户id的数据,并返回给用户 alt

本文由 mdnice 多平台发布

http://www.sczhlp.com/news/66808/

相关文章:

  • 点击一个网站跳转到图片怎么做的wordpress 文章图片自动添加图片
  • 杭州网站建设hzfwwl什么是门户网站广告
  • 手机搭建网站教程视频青岛建筑
  • 云营销网站建设电话咨询专门做ui图标的网站
  • 佛山住房和城乡建设部网站石家庄招投标公共服务平台官网
  • 国内 设计网站的公司网站单位网站建设的请示
  • 长安做网站价格网站源码绑定域名
  • 做服装最好的网站有哪些ueditor to wordpress
  • 聊城网站优化湖北省住房城乡建设厅网站首页
  • 网站demo要几个人做网站建设 源美设计
  • 做公司网站需要注意什么零基础网站建设书籍
  • 舟山建设企业网站wordpress 反斜杠 luj
  • 重庆做网站公司哪家好评价一个网站
  • 全网网站建设设计个人企业信息查询
  • 做网站公司 陕西渭南百度建立网站需要花多少钱
  • 济南怎么做网站优化型网站建设
  • 最专业的车网站建设php开发做网站
  • 网站布局选择seo网站服务公司
  • 松原市住房和城乡建设厅网站企业推广计划
  • 长沙制作网站软件免费做deal的网站
  • 公司建站文案给网站公司看的wordpress 4.8.1 教程
  • 成都建设公司网站重庆微网站制作
  • 万网域名中文网站查询广东全网营销与推广公司
  • 南京网站开发南京乐识正规wordpress前端页面模板
  • 网站页面描述怎么写网站的建设方向
  • 轻云服务器菁英版 多个网站.网站排版
  • 校园网站的意义市场营销怎么做推广
  • 网站开发需要编程吗wordpress主题对接支付
  • 企业建设网站的目的是什么免费手机端网站模板下载工具
  • 合肥晚报社官方网站怎样做自己的公司网站