本文针对中小开发者、独立开发者,无需复杂架构、额外成本,看完即可按步骤落地符合监管要求的用户信息保护,所有步骤零门槛,可直接操作。
实操步骤:
绝对禁止明文存储用户敏感信息(手机号、身份证号、住址等),中小开发者可按以下步骤快速实现加密:
执行以下安装命令:
``` npm install bcryptjs dotenv ```对于不需要比对、只需要存储的信息(比如收货地址),用AES对称加密,密钥存储在环境变量中,不要写死在代码里,避免代码泄露导致信息泄露:
``` require('dotenv').config(); const crypto = require('crypto'); const AES_KEY = Buffer.from(process.env.AES_KEY, 'hex'); // 从环境变量读取密钥 const iv = Buffer.from(process.env.AES_IV, 'hex'); exports.aesEncrypt = (plainText) => { const cipher = crypto.createCipheriv('aes-256-cbc', AES_KEY, iv); let encrypted = cipher.update(plainText, 'utf8', 'hex'); encrypted += cipher.final('hex'); return encrypted; } exports.aesDecrypt = (encryptedText) => { const decipher = crypto.createDecipheriv('aes-256-cbc', AES_KEY, iv); let decrypted = decipher.update(encryptedText, 'hex', 'utf8'); decrypted += decipher.final('utf8'); return decrypted; } ```你可以在项目根目录创建.env文件,写入你的密钥,并且把.env加入.gitignore,避免提交到代码仓库,操作就是在.gitignore中新增一行.env即可。

所有返回用户信息的接口,必须校验用户身份,避免出现A用户可以查看B用户信息的越权漏洞,实操如下:
安装JWT依赖:
``` npm install jsonwebtoken ```添加鉴权中间件(Express框架可直接使用):
``` const jwt = require('jsonwebtoken'); const JWT_SECRET = process.env.JWT_SECRET; // 用户信息接口鉴权中间件 exports.userAuth = (req, res, next) => { // 从请求头获取token const authHeader = req.headers.authorization; if (!authHeader || !authHeader.startsWith('Bearer ')) { return res.status(401).json({code: 401, msg: '无访问权限'}); } const token = authHeader.split(' ')[1]; try { // 验证token有效性 const decoded = jwt.verify(token, JWT_SECRET); // 把userId存入请求对象,后续接口直接使用 req.userId = decoded.userId; next(); } catch (err) { return res.status(401).json({code: 401, msg: '访问令牌无效'}); } } ```给所有返回用户信息的接口加上这个中间件,同时接口只返回业务需要的最小信息,比如只需要昵称就不要返回手机号,避免信息泄露。
根据合规要求,必须支持用户导出和删除自己的个人信息,实操代码如下:
删除时需要做到:
把整理好的收集信息清单、用途、存储期限、用户权利(导出、删除)、联系方式整理成隐私政策,放在你的产品关于页面/官网底部,然后把隐私政策链接填写到小程序/应用商店的审核信息中,核心内容不要缺,不需要复杂的话术,把上述内容说清楚就符合要求。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图