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

技术分享-商城篇-用户中心-注销修改(二十三)

前言

上一篇文章技术分享-商城篇-用户中心(二十二)在构建高效、安全的商城用户中心时,确保用户账户的安全性与便捷性至关重要。本文将重点阐述三大核心功能——修改密码、协议授权及注销账户的业务逻辑、设计思路及注意事项,旨在为用户打造一个既安全又易于操作的在线体验。
在这里插入图片描述

一、修改密码:强化账户安全的第一步

业务逻辑与设计思路

修改密码功能旨在提升用户账户的安全性,防止未授权访问。采用手机号验证码作为验证条件,是因其普及性与即时性,能有效降低被恶意破解的风险。用户发起修改密码请求后,系统首先验证用户身份,通过向注册手机号发送一次性验证码来完成。验证码的验证确保了操作的真实性与用户意愿的确认。
在这里插入图片描述

实现过程

  1. 用户发起请求:用户在用户中心页面选择“修改密码”,输入当前手机号。
  2. 发送验证码:系统调用短信接口服务商(如阿里云、腾讯云等),发送包含验证码的短信至用户手机,同时记录验证码、发送时间及用户信息,以便后续验证。
  3. 安全验证:用户输入收到的验证码,系统验证其正确性、时效性(如设置5分钟内有效)及发送频率(如每日不超过5次),防止短信轰炸。
  4. 设置新密码:验证通过后,用户进入新密码设置页面,按规则(8-16位,包含字母、数字和特殊字符中的至少两种组合)设置新密码。
  5. 密码更新:系统验证新密码的复杂度,通过后更新数据库中的密码信息,并提示用户修改成功。

注意事项

  • 确保短信发送接口的安全性,采用HTTPS等加密方式传输数据。
  • 设定合理的验证码有效期和发送频率限制,防止滥用。
  • 密码复杂度要求需明确告知用户,提高账户安全性。
二、协议授权:透明化信息处理的基石

协议内容概述

  • 注册登录协议:明确用户注册、登录的条件、流程及双方权利义务,如账号所有权、使用权等。
  • 用户信息收集协议:详细阐述收集用户信息的种类、目的、使用范围及保护措施,保障用户隐私权。
  • 注销协议:说明注销账户的流程、后果及平台对用户数据的处理方式,确保用户知情权。

设计思路

协议内容应清晰、易懂,避免法律术语的滥用,确保用户在注册、使用及注销过程中充分理解并同意相关条款。同时,提供便捷的协议查看入口,便于用户随时查阅。

三、注销功能:谨慎处理,尊重用户选择

业务逻辑与实现过程

注销账户是用户放弃平台服务的最终手段,其过程需极为谨慎。系统首先验证用户身份,确认注销意愿后,检查账户体系内是否有未完成的交易(如待发货订单、未结算余额、积分等)。若有,需引导用户处理完毕后再行注销。
在这里插入图片描述

实现步骤

注销账户的详细流程因不同的在线平台和服务而有所差异,但通常可以归纳为以下几个关键步骤:

1、查找注销入口
  • 步骤说明:登录后,用户需要在平台或服务的界面上找到“注销账户”的入口。这通常位于账户设置、安全中心或个人资料等页面。
  • 注意事项:如果找不到注销入口,用户可以尝试查看平台的帮助中心、联系客服或搜索相关的注销指南。
2、阅读注销须知
  • 步骤说明:在提交注销申请之前,平台或服务通常会要求用户阅读注销账户的相关说明和条件。这些说明可能包括注销后的影响、账户内余额的处理方式、未完成的订单或交易的处理等。
  • 注意事项:用户务必仔细阅读这些说明,确保自己了解注销的后果,并按照平台的要求进行操作。
3、满足注销条件
  • 步骤说明:为了满足注销条件,用户可能需要执行一系列操作,如解除绑定的银行卡、手机号、邮箱等,清理账户余额,处理未完成的订单或交易等。
  • 注意事项:不同平台对注销条件的要求可能不同,用户需要根据平台的要求进行操作。
4、身份验证
  • 步骤说明:为了确保是账户所有者本人操作,平台或服务可能会要求用户进行身份验证。身份验证的方式可能包括短信验证码、密码验证、人脸识别等。
  • 注意事项:用户需要按照平台的要求进行身份验证,以确保注销申请的有效性。
5、提交注销申请
  • 步骤说明:在确认满足注销条件并完成身份验证后,用户可以提交注销申请。提交方式可能是在线填写申请表、发送电子邮件或联系客服等。
  • 注意事项:用户需要确保提交的申请信息准确无误,并按照平台的要求进行提交。
6、等待审核
  • 步骤说明:提交注销申请后,平台或服务会对申请进行审核。审核时间的长短因平台而异,用户需要耐心等待。
  • 注意事项:在等待审核期间,用户不要进行任何可能影响注销申请的操作,如登录账户、修改账户信息等。
7、注销完成
  • 步骤说明:如果注销申请通过审核,平台或服务会正式注销用户的账户,并可能发送通知给用户。
  • 注意事项:注销完成后,用户将无法再使用该账户登录平台或服务,且账户内的相关信息和数据可能无法恢复。因此,在注销前,用户需要确保已经备份了重要的个人信息和数据。

注意事项

  • 强调注销账户的风险,如数据不可恢复、失去平台服务等,确保用户知晓后果。
  • 处理过程中需确保数据的安全性与合规性,避免信息泄露。
  • 注销流程中可能遇到的各种问题(如验证码未收到、交易处理障碍等)需提前预设解决方案,并提供用户支持渠道。
  • 重要:账户注销已成为目前软件系统必备功能,尤其是从20年之后法律法规要求,每个收集用户信息的软件系统,都必须有账户注销功能,要保证用户隐私性;且对于落盘数据库的敏感数据都得做加密处理,不能明文落盘,包括但不限于以下数据:用户名、手机号、身份证号(或其他能够证明用户身份信息数据)、身份证图片、收货地址、邮箱等,都需要加密后才能保存,避免因为数据库被爆破,而导致大量数据被泄露,但是在加密的过程中,秘钥一定要保存好,避免遗失或者人为修改。尤其是上市或者待上市公司,要求更为严格。

总结

综上所述,B2B2C商城用户中心的修改密码、协议授权及注销账户功能,是构建安全、透明、便捷用户体验的重要组成部分。通过精细的业务逻辑设计、周到的注意事项考虑,能够有效提升用户满意度与平台信任度。这些功能都属于系统核心敏感基础,一定要做好相关日志记录和后续的保障措施。

相关文章:

技术分享-商城篇-用户中心-注销修改(二十三)

前言 上一篇文章技术分享-商城篇-用户中心(二十二)在构建高效、安全的商城用户中心时,确保用户账户的安全性与便捷性至关重要。本文将重点阐述三大核心功能——修改密码、协议授权及注销账户的业务逻辑、设计思路及注意事项,旨在…...

Linux-实用指令

目录 前言 指定运行级别 基本介绍 切换运行级别 指令类 帮助指令 man 获得帮助信息 help指令 文件目录类 pwd指令 ls指令 cd指令 mkdir命令 rmdir指令删除空目录 touch指令 cp指令 rm指令 mv指令 cat指令 more指令 less指令 echo指令 head指令 tail指令…...

【MySQL00】【 杂七杂八】

文章目录 一、前言二、MySQL 文件1. 参数文件2. 日志文件3. 套接字文件4. pid 文件5. 表结构定义文件6. InnoDB 存储引擎文件 二、BTree 索引排序三、InnoDB 关键特性1. 插入缓冲1.1 Insert Buffer 和 Change Buffer1.1 缓冲合并 2. 两次写2. 自适应哈希索引3. 异步IO4. 刷新邻…...

计算机网络 第2章 物理层

文章目录 通信基础基本概念信道的极限容量编码与调制常用的编码方法常用的调制方法 传输介质双绞线同轴电缆光纤以太网对有限传输介质的命名规则无线传输介质物理层接口的特性 物理层设备中继器集线器一些特性 物理层任务:实现相邻节点之间比特(0或1&…...

解决:Module build failed (from ./node_modules/sass-loader/dist/cjs.js)问题

一、问题 Module build failed (from ./node_modules/sass-loader/dist/cjs.js): Error: Cannot find module sass 二、解决方法 1.清除缓存 npm cache clean --force2.重构项目 npm install 3.更新(获取最新的)node-sass和sass-loader依赖包 npm …...

【 html+css 绚丽Loading 】 000041 三才移形三角

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 &#x1f495…...

ASP.NET Core 入门教学十六 防止常见的Web攻击

在ASP.NET Core中,防止常见的Web攻击是非常重要的,以确保应用程序的安全性。以下是一些常见的Web攻击类型及其防范措施: 1. 跨站脚本攻击(XSS) 跨站脚本攻击(XSS)是一种通过在网页中注入恶意脚…...

单刀直入@ComponentScan之 资源加载

欢迎大家入坑,所谓师傅领进坑爬出去靠个人,首先我要说的是这个是上一篇《单刀直入ComponentScan》的姊妹篇哈,接着把没聊透的事说明白,咱不是虎头蛇尾的人。 资源加载是啥意思 scan ,都认识吧,小学词汇连…...

SAPUI5基础知识25 - 聚合绑定(Aggregation Binding)

1. 背景 Aggregation Binding 是 SAPUI5 中的一种数据绑定方式,用于将数据模型中的集合(如数组)绑定到 UI 控件的聚合(如列表项、表格行等)。 常见的场景包括将一个数组绑定到 sap.m.List 的 items 聚合,…...

【Python 千题 —— 算法篇】寻找两个正序数组的中位数

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目背景 在处理大规模数据时,我们经常需要对数据进行排序和分析。一个常见问题是如何高效地从两个正序数组中找出它们的中位数。…...

Autoware 定位之初始姿态输入(九)

0. 简介 这一讲按照《Autoware 技术代码解读(三)》梳理的顺序,我们来说一说Autoware中的初始化操作,这个软件包当中完成了ekf_localizer发送初始姿态的包。它接收来自GNSS/用户的粗略估计的初始姿态。将姿态传递给ndt_scan_match…...

C# 自定义传值窗体-适合多参数传值

将子窗体的值回传到父窗体中,或者最简单的需要一个设置参数的对话框,其作用也就是得到其中的参数。下面我们详细介绍实现的过程。 文章目录 一、定义一个事件类二、在参数窗体中定义事件三、订阅事件消息 一、定义一个事件类 首先,我们必须…...

Ubuntu20.04+ros-noetic配置Cartographer

一、概述 因为要配置激光SLAM,Cartographer属于激光雷达SLAM 中比较经典的一款,在学习之前先将其在Ubuntu20.04首先配置出来并成功运行demo。 二、具体操作 (一)概述 使用平台是Windows的wsl2上的Ubuntu20.04子系统,…...

Visual Studio 2022 下载和安装

文章目录 概述一,下载步骤二,安装过程 概述 Visual Studio 提供 AI 增强功能,例如用于上下文感知代码补全的 IntelliSense 和可利用开源代码中的 AI 模式的 IntelliCode。 集成的 GitHub Copilot 提供 AI 支持的代码补全、聊天辅助、调试建议…...

在 Windows 环境下实现免密登录 Linux 服务器

在 Windows 环境下实现免密登录 Linux 服务器 1. 生成 SSH 密钥对2. 手动将公钥上传到服务器方法 1:使用 scp 传输公钥文件方法 2:使用 Windows 内置工具或编辑器手动复制 3. 测试免密登录4. 可能需要的工具 以下是在 Windows 中实现免密登录的步骤&…...

Computer Exercise

每日一练 单选题 在计算机机箱前面板接口插针上(     C   )表示复位开关。 A.SPK    B.PWRLED    C.RESET    D.HDDLED每台PC机最多可接(     B   )块IDE硬盘。 A.2    B.4    C.6    D.8(    …...

利用Stable Diffusion AI图像模型评估智能车模型算法表现(下篇)

今天小李哥将介绍亚马逊云科技的Jupyter Notebook机器学习托管服务Amazon SageMaker上,通过AI图像生成模型Stable Diffusion Upscale和Depth、向量知识库和LangChain Agent,生成用于AI 智能车模型训练的图像数据集并评估模型表现。 本系列共分为上下两篇…...

音视频入门基础:WAV专题(8)——FFmpeg源码中计算WAV音频文件AVStream的time_base的实现

一、引言 本文讲解FFmpeg源码对WAV音频文件进行解复用(解封装)时,其AVStream的time_base是怎样被计算出来的。 二、FFmpeg源码中计算WAV音频文件AVStream的time_base的实现 从《音视频入门基础:WAV专题(5&#xff09…...

springboot中的请求过滤filter与拦截interceptor分析

首先我们要定义一个类,实现标准的过滤器 import lombok.extern.slf4j.Slf4j;import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException;WebFilter("/*") Slf4j public class AuthFilter implements Filter {Overr…...

Node.js入门与生态全解析:包管理与构建工具详解

Node.js入门与生态全解析:包管理与构建工具详解 目录 🎯 包管理 使用 npm 和 yarn:项目依赖管理的利器创建和发布 npm 包:实现模块化与共享 ⚙️ 构建工具 使用 Webpack 和 Babel:高效打包与代码转换配置构建流程&am…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

基础测试工具使用经验

背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

【C++进阶篇】智能指针

C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...

深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向

在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...