账号与登录安全
3.8.1 加了一组账号安全功能,会员和管理员都有:
| 对象 | 新功能 |
|---|---|
| 会员 | 两步验证、资金操作二次验证、登录设备管理、安全日志、通行密钥登录 |
| 管理员 | 通行密钥登录、闲置自动锁屏、新的登录页 |
3.8.2 又加了对接白名单 IP:登记了 IP 后,对接接口只接受从这些服务器来的余额下单;开了资金操作二次验证的账号,也要靠它才能通过对接接口下单。
升级须知
升级到 3.8.1 后会有下面这些变化,都是正常的。升级方法见 升级与迁移。
- 所有会员要重新登录一次。 为了安全,会员的登录凭证全部重建,原来的登录状态会失效。
- 密码改用更强的哈希保存。 会员和管理员的密码在下次用密码登录时自动转换,不用你操作。管理员转换的那一次,他在其他设备上的后台登录会失效,重新登录即可。
- 后台闲置锁屏默认开启,时长 15 分钟,见下文「闲置自动锁屏」。升级本身不会让管理员掉线。
- 数据库改动由在线升级自动完成,不用手动执行 SQL。
升级后不要再回退到旧版本。 密码已经转换过的账号,在旧版本里无法用密码登录。
会员端
会员中心的安全导航(个人资料、密码设置、邮箱设置、手机设置那一排)多了这些页面:
| 页面 | 用途 |
|---|---|
| 两步验证 | 登录时除了密码,还要输入验证器 App 上的动态码;资金操作二次验证的开关也在这里 |
| 登录设备 | 查看哪些设备登录着这个账号,并把它们退出 |
| 对接白名单 | 3.8.2 新增:登记能通过对接接口用余额下单的服务器 IP。只有默认主题有这一页,其他主题放在「两步验证」页里 |
| 安全日志 | 登录、改密码、提现等重要操作的记录 |
| 通行密钥 | 用指纹、面容或设备 PIN 代替密码登录 |
两步验证
开启步骤:
- 打开 两步验证 页面,点「开启两步验证」
- 用验证器 App(Google Authenticator、微软 Authenticator 等)扫描二维码
- 输入 App 上显示的 6 位动态码和账号密码,确认开启
- 页面会显示 8 条备用恢复码,只显示这一次,务必保存好
开启之后:
- 登录时输完密码,还要输入 6 位动态码;手边没有动态码时,可以用一条恢复码代替
- 其他设备上的登录会被退出,只保留当前这台
- 资金操作二次验证自动打开,见下一节
恢复码每条只能用一次。手机丢了、打不开验证器时,可以用它登录,或者用它关闭两步验证。
| 操作 | 需要输入 |
|---|---|
| 关闭两步验证 | 账号密码 + 动态码或一条恢复码。资金操作二次验证会一起关闭 |
| 重新生成恢复码 | 账号密码 + 动态码。旧的恢复码全部作废 |
密钥和恢复码只在设置时显示一次,之后不会出现在任何页面、列表或导出数据里,后台也看不到。
资金操作二次验证
两步验证 页面上的一个开关。开启两步验证时会自动打开;切换这个开关需要输入账号密码和动态码。
打开后,会员做下面这些操作前,要先输入当前的 6 位动态码:
- 用余额支付下单
- 申请提现(兑现)
- 给下级会员转账
- 用余额开通商户等级
验证通过后,5 分钟内不再重复询问。没开两步验证的会员完全不受影响。
对接要注意: 店铺共享和 API 对接走的都是对接接口,由服务器自动调用,没法输动态码。所以开了资金操作二次验证的账号,通过对接接口用余额下单时只认调用方服务器的 IP:在这个账号的对接白名单 IP里才放行,白名单是空的就一律拒绝。下游站点用这种账号对接你的店,或者你用自己在上游的账号对接别人,都是这样。
3.8.1 还没有白名单,这种账号完全不能通过对接接口消费余额,只能在这个账号上关掉资金操作二次验证(两步验证可以继续开着)。
对接白名单 IP
3.8.2 新增,所有会员都能用,和有没有开两步验证无关。添加第一条就启用:之后对接接口用这个账号的余额下单时,只接受清单里的 IP 或网段。只管下单,拉商品、查库存、查订单都不受影响。
| 清单 | 开了资金操作二次验证 | 没开资金操作二次验证 |
|---|---|---|
| 有条目 | 只接受清单里的来源 | 只接受清单里的来源 |
| 空的 | 一律拒绝(对接接口没法输动态码) | 不限制,和 3.8.2 之前一样 |
没开资金操作二次验证的账号也值得设:商户密钥(app_key)万一泄露,对方不从清单里的 IP 发起,就用不了你的余额下单。
在哪里设置:
- 默认主题(原初之力):会员中心安全导航里的 对接白名单 页,在「安全日志」左边。开了两步验证时,两步验证 页的资金操作二次验证开关下方也会给一行提示:开了资金操作二次验证、清单还空着时是黄色提醒,带「去添加」链接;清单有条目时显示放行了几个来源,带「管理白名单」链接
- 其他主题:白名单直接显示在 两步验证 页:开了两步验证时在资金操作二次验证开关下方,没开时在页面底部
| 项目 | 说明 |
|---|---|
| 能填什么 | 单个 IPv4 或 IPv6 地址,或者 CIDR 写法的网段,比如 203.0.113.0/24 |
| 网段上限 | IPv4 最大 /16,IPv6 最大 /48。0.0.0.0/0 这类更大的网段加不进去 |
| 条数和备注 | 每个账号最多 20 条,每条可以写个备注(最多 32 个字) |
| 添加 | 要验证身份:开了两步验证的输入验证器 App 上的 6 位动态码,没开的输入账号密码 |
| 移除 | 不用验证,移除只会缩小放行范围 |
| 最近放行 | 每条都显示它上一次放行对接下单的时间 |
默认主题的 对接白名单 页顶部会显示当前状态:
| 状态 | 含义 |
|---|---|
| 已启用 | 清单有条目,对接接口只接受清单里的来源 |
| 清单还是空的 | 开了资金操作二次验证、清单为空,对接下单全部被拒 |
| 未启用 | 没开资金操作二次验证、清单为空,不限制来源;添加第一个 IP 就会启用 |
最近被拒绝的来源: 对接下单被拒时,返回给调用方的报错里故意不带 IP —— 下游站点可能把上游的报错直接显示给顾客,带上 IP 就等于公开了下游服务器的真实 IP。被拒的 IP 改为列在白名单下方的「最近被拒绝的来源」里(最近 7 天,最多 5 个),点一下就能加入白名单,同样要验证身份。每次被拒还会在安全日志里记一条「风险较高」的记录,同一个 IP 每 10 分钟最多记一条。这里出现不认识的 IP,说明有人拿着这个账号的商户密钥(app_key)在下单,应立即重置商户密钥。
不知道服务器 IP: 先对接下一单。只要这一单被拒(开了资金操作二次验证,或者清单里已经有别的 IP),服务器的 IP 就会出现在「最近被拒绝的来源」里,直接加进白名单即可。否则就在调用接口的那台服务器上查它的公网出口 IP 并添加;有了第一个 IP 之后,其他来源的对接下单都会被拒,并列在「最近被拒绝的来源」里。
站长注意: 系统按 网站设置 → 安全设置 里的「IP 获取方式」和「受信代理 IP」判断调用方的 IP。网站套了 CDN 或反向代理、又没把它设为受信代理时,所有对接请求看起来都来自 CDN 的 IP,会员只能把 CDN 的 IP 加进白名单,白名单就形同虚设。请先把受信代理配好。
登录设备
3.8.1 起,一个账号可以同时在多台设备上保持登录。旧版本在新设备上登录时,会把上一台设备挤下线。
登录设备 页面列出所有在线的设备:设备类型、系统和浏览器、登录时的 IP 和时间、最近活跃的 IP 和时间。当前正在用的这台会标上「当前设备」。
可以逐台退出,也可以点「退出其他设备」或「退出全部设备」。发现陌生设备,先把它退出,再修改密码。
安全日志
账号上的重要操作都会记下来,每条都带时间、IP 和浏览器:
| 类别 | 记录的事件 |
|---|---|
| 登录 | 登录成功(含通行密钥登录)、登录失败、退出登录 |
| 账号资料 | 修改密码、邮箱、手机号、个人资料或结算方式 |
| 验证设置 | 开启或关闭两步验证、开启或关闭资金操作二次验证、通过资金操作二次验证、重新生成恢复码 |
| 设备与密钥 | 退出设备、添加或删除通行密钥、重置商户密钥(app_key) |
| 资金 | 申请提现、给下级会员转账 |
| 对接白名单 | 添加或移除对接白名单 IP、对接下单被拒(调用方 IP 不在白名单里) |
风险较高的事件会带上「风险较高」标记,比如登录 IP 和上次不同、登录失败、关闭两步验证、重置商户密钥、添加对接白名单 IP、对接下单被拒。点「只看风险」可以只看这些。
日志不保存邮箱、手机号、收款账号这类内容。
管理员查看: 后台 会员管理,每个会员那一行都有「安全日志」按钮(盾牌图标),点开就是这个会员的日志,可以按类型、详情、IP、时间筛选。管理员在后台重置会员密码,也会记进去。3.8.2 起这个按钮只有主管理员账号(安装时创建的那个)能打开,超级管理员、白班、夜班账号点开会提示没有权限。
通行密钥
用指纹、面容或设备的锁屏密码(PIN)代替密码登录。通行密钥保存在会员自己的设备或密码管理器里,钓鱼网站骗不走。
添加: 打开 通行密钥 页面 → 点「添加通行密钥」→ 输入账号密码 → 按设备提示完成验证。每个账号最多 10 个,可以改名、删除。
登录: 在登录页点「使用通行密钥登录」,或者点一下账号输入框、从自动填充里选择通行密钥,再用指纹、面容或 PIN 确认。
开了两步验证的会员,用通行密钥登录时,只要在设备上完成了指纹、面容或 PIN 验证,就不用再输动态码。没做这一步的(比如没设 PIN 的实体安全密钥),仍要输动态码。
通行密钥对访问方式有要求:
| 要求 | 说明 |
|---|---|
| HTTPS + 域名 | 网站要用 https://域名 打开,用 http 或 IP 访问都不行 |
| 系统浏览器 | 微信、QQ、支付宝等 App 里的内置浏览器不支持 |
| 同一个域名 | 通行密钥只在添加时的那个域名下有效。带 www 和不带 www 算两个域名,每个分站域名也各算各的 |
前两条不满足时,登录页不会出现「使用通行密钥登录」按钮。
其他主题
默认主题(原初之力)已经带齐这些页面。洛杉矶、富士山、纽约、西雅图、涩谷、鲁迪乌斯等带会员中心的主题,要通过各自的主题更新拿到这些页面 —— 到应用商店把主题更新到最新版。这些主题没有单独的「对接白名单」页,白名单直接显示在「两步验证」页:开了两步验证时在资金操作二次验证开关下方,没开时在页面底部。
不管用哪个主题,开了两步验证的会员都能正常登录。
后台
通行密钥登录
管理员可以用通行密钥登录后台,不用输密码。
- 点右上角头像,进入 个人设置
- 在「通行密钥」一栏点「添加通行密钥」
- 输入当前的登录密码
- 按提示用指纹、面容、Windows Hello、手机或安全密钥确认
之后在后台登录页点「使用通行密钥登录」即可。密码登录照常能用;通行密钥也能用来解开闲置锁屏。同样需要 HTTPS,并且只在添加时用的那个域名下有效。
开了谷歌验证器的管理员:
| 通行密钥 | 登录时 |
|---|---|
| 在设备上做了指纹、面容或 PIN 验证 | 直接登录,不用输谷歌验证码 |
| 没做这一步(比如没设 PIN 的普通安全密钥) | 仍要输谷歌验证码 |
修改管理员密码不会让他的通行密钥失效。 要收回某个管理员的后台权限,停用或删除这个管理员账号。
闲置自动锁屏
升级后默认开启,时长 15 分钟。在 网站设置 → 安全设置 的「后台闲置锁屏」里修改,可填 0–1440 分钟,填 0 关闭。见 网站设置。
- 超过设定的时间没有鼠标、键盘或触摸操作,后台自动锁屏
- 解锁:输入登录密码,或者用通行密钥;也可以点「改用其他账号登录」
- 锁屏由服务器判定。页面自己定时刷新数据不算操作;勾了「保持登录」的设备一样会锁
- 锁屏会离开当前页面,正在编辑的内容记得先保存
- 升级本身不会让管理员掉线
新的登录页
后台登录页改成了 macOS 锁屏的样子:一个时钟,加上玻璃质感的输入框。
- 右上角可以切换语言和外观(亮色 / 暗色 / 跟随系统)
- 出错时,提示直接显示在对应的输入框下面;开着大写锁定会提醒
- 开了谷歌验证器的账号,验证码输入框直接在登录框里展开
- 没设自定义背景(或者用的就是默认那张)时,显示内置壁纸,跟着亮色 / 暗色切换;自定义背景照常生效
默认背景图本身换了新图。 还在用默认「PC背景图片」的站点,前台和会员中心的背景也会跟着变。想保留旧图:升级前先把网站上的
/assets/admin/images/login/bg.jpg另存一份,升级后到 网站设置 → 基本设置 把它作为「PC背景图片」上传。
常见问题
| 现象 | 怎么办 |
|---|---|
| 登录页没有「使用通行密钥登录」按钮 | 用 https://域名 打开网站,并换成系统浏览器,不要用微信、QQ、支付宝里的内置浏览器 |
| 会员手机丢了,看不到动态码 | 用一条恢复码登录,然后关闭两步验证,在新手机上重新开启 |
| 后台锁屏太频繁 | 到 网站设置 → 安全设置 把「后台闲置锁屏」调长,或填 0 关闭 |
| 对接下单失败,提示「该账号已开启资金二次验证,必须先登记对接白名单 IP 才能通过对接接口用余额下单。请登录该账号的会员中心,在「对接白名单」(或「两步验证」页)把服务器 IP 加入白名单;被拒的 IP 会列在那里」 | 上游是 3.8.2 及以上,这个账号开了资金操作二次验证,白名单还是空的。登录这个账号的会员中心,打开 对接白名单 页(其他主题在 两步验证 页),把「最近被拒绝的来源」里的服务器 IP 加进对接白名单 IP |
| 对接下单失败,提示「调用方 IP 不在该账号的对接白名单内。请登录该账号的会员中心,在「对接白名单」(或「两步验证」页)把服务器 IP 加入白名单;被拒的 IP 会列在那里」 | 上游是 3.8.2 及以上,这个账号设了白名单,调用方服务器的 IP 不在里面。同样从「最近被拒绝的来源」把它加进去;这个 IP 你不认识的话,商户密钥可能已经泄露,先重置商户密钥 |
| 对接下单失败,提示「该账号已开启资金二次验证,无法通过对接接口消费余额」 | 上游是 3.8.1,还没有白名单。在这个账号的 两步验证 页面关掉资金操作二次验证,或者请上游升级到 3.8.2 后改用白名单 |
| 后台点会员的「安全日志」提示没有权限 | 3.8.2 起只有主管理员账号(安装时创建的那个)能看会员的安全日志 |
| 升级后所有会员都掉线了 | 正常现象,每个会员重新登录一次即可 |
| 换了域名,通行密钥用不了 | 通行密钥绑定添加时的域名,在新域名下重新添加一个 |
