网站设置
后台 网站设置,分成几个标签页。这里挑需要解释的说。
基本设置
| 项目 | 说明 |
|---|---|
| 店铺名称 / 标题 / 关键词 / 描述 | 前台展示与 SEO |
| Logo、背景图 | 电脑端和手机端可以分别设置 |
| 前台主题 / 会员中心主题 | 电脑端和手机端分别选,主题在应用商店里装 |
| 关闭站点 | 打开后前台显示维护提示,后台仍可进 |
| 注册开关 / 注册方式 | 关掉就不允许注册新用户 |
| 注册验证 / 登录验证 / 下单验证 | 验证码开关,防机器人刷单 |
| 邮箱验证 / 手机验证 | 注册时要不要验证邮箱或手机 |
| 找回密码方式 | 邮箱还是手机 |
| 用户名长度 | 限制注册用户名长度 |
| 会话有效期 | 用户多久不操作会掉线 |
| 后台登录验证 | 后台登录的验证码开关 |
其他设置
自定义支付回调域名
什么时候需要: 网站套了 CDN,或者 CDN 带防火墙,导致支付回调很慢甚至失败。
怎么解决: 另外绑一个直连服务器的地址,比如 http://123.123.123.123:41823,填到这里。回调就绕开 CDN 直达服务器,又快又稳。
会不会泄露服务器 IP: 用码支付、易支付这类 submit 表单跳转的平台,懂行的人抓包能看到这个地址,也就知道了你的服务器 IP 或未套 CDN 的域名 —— 仅此而已,没有其他安全风险。用官方支付宝/微信,或者内部 request 拿 qrcode / payUrl 的平台,则完全不存在这个问题。
无论哪种情况,配了回调域名都能提升回调稳定性,推荐设置。
分站相关
主站域名、DNS-CNAME、显示哪个供货商的商品,详见 分站模块 和 供货系统。
推广功能
整个推广分成功能的总开关,默认打开。关掉后,会员中心不再显示推广中心,推广链接不再记录来源,新订单不再产生推广分成;已有的上下级关系和历史分成不受影响。详见 推广分成。
提现
提现方式(支付宝 / 微信 / USDT / 余额)、最低提现额、提现手续费。
充值
最低 / 最高充值额、充值赠送规则。
货币
站点货币代码、符号、小数位、汇率。汇率的含义是「1 个站点货币值多少人民币」,只在提交支付网关时起作用。
强制登录
打开后整站必须登录才能浏览。
邮箱设置
配置 SMTP。配完一定要用测试功能发一封试试,成功了再去商品里打开邮件通知,否则买家收不到邮件你还不知道。
短信设置
配置短信服务商,用于注册验证和找回密码。
安全设置
| 项目 | 说明 |
|---|---|
| 后台入口密钥 | 给 /admin 加一道暗门,不知道密钥的人打不开后台 |
| 后台闲置锁屏 | 后台多少分钟没有操作就自动锁屏,要重新输入密码或用通行密钥才能解锁。可填 0–1440,默认 15,填 0 关闭。见 账号与登录安全 |
| IP 获取方式 | 套了 CDN 或反代时,要选对才能拿到访客真实 IP |
| 受信代理 IP | 配合上一项,只有来自这些 IP 的转发头才被信任 |
| CSP 模式 | 内容安全策略。强制模式能挡住大部分注入型攻击,但可能拦掉你自己加的外部脚本、嵌入的播放器等 —— 被拦的都会记录下来,可以从违规记录里点击放行 |
| 外链过滤 / 外链白名单 | 限制站内能出现的外部链接域名 |
| 请求日志 | 记录请求明细用于排查。日志是加密存储的,密钥存在数据库里 |
CSP 强制模式打开后先自己点一遍前后台,确认没有功能被拦。放行只能从违规记录里操作,没有手工输入框。
从违规记录放行
违规记录里能放行的那一行,右边有个 允许 按钮。点一下就把被拦的外部地址加进白名单,可以选只放这个地址、这个目录还是整个域名。放行后在哪生效,看资源类型:
| 被拦的资源 | 放行后在哪生效 |
|---|---|
| 脚本 | 只在前台。后台一律不加载第三方脚本 |
| 框架(iframe)、样式、字体、音视频、网络请求 | 前台和后台都生效 |
框架、音视频和网络请求本来就放行所有 https 地址,被拦的一般是 http 地址,能换成 https 更好。放行过的地址列在「已放行的外部资源」里,不需要了可以移除。
富文本编辑器的提醒
在后台编辑商品介绍、店铺公告时,编辑器会提前告诉你哪些外部内容会出问题:
- 链接或图片的域名不在外链白名单里 —— 保存时会被去掉。点 加入白名单 直接放行这个域名
- 嵌入的外部内容会被 CSP 拦下(比如 http 地址的视频播放器),访客看不到。点 允许显示 放行,刷新页面后生效
这两个按钮只有主管理员账号(安装时创建的那个)能用,其他管理员只会看到提示。
套了 Amazon CloudFront
3.8.4 起,IP 获取方式 可以选 HTTP_CLOUDFRONT_VIEWER_ADDRESS,读取 CloudFront 的 CloudFront-Viewer-Address 请求头。这个头由 CloudFront 按访客的真实连接填写,访客伪造不了。CloudFront 和网站两边都要配:
- CloudFront 把这个头转发给源站。 在分配(Distribution)的「行为」(Behaviors)里,源请求策略(Origin request policy)选托管策略
AllViewerAndCloudFrontHeaders-2022-06,或者自建一个包含CloudFront-Viewer-Address的源请求策略。这个头只能加在源请求策略里,缓存策略里加不了。 - 「受信代理 IP」填 CloudFront 的回源 IP 段。 AWS 在 ip-ranges.json 里公布,取
service为CLOUDFRONT_ORIGIN_FACING的条目,IPv4 和 IPv6 的都要填。直连来源REMOTE_ADDR不在受信清单里时,程序不读任何 CDN 请求头,一律用REMOTE_ADDR。
下面这条命令直接列出第 2 步要填的 IP 段,一行一个(需要 jq)。AWS 会不定期调整这份清单,隔段时间重新核对一次:
curl -s https://ip-ranges.amazonaws.com/ip-ranges.json \
| jq -r '(.prefixes[], .ipv6_prefixes[]) | select(.service == "CLOUDFRONT_ORIGIN_FACING") | .ip_prefix // .ipv6_prefix'配好后通过 CloudFront 打开这个设置页,下拉框里每个选项后面都会显示它当前读到的 IP。HTTP_CLOUDFRONT_VIEWER_ADDRESS 后面是你自己的 IP,说明第 1 步生效了。
- 还没升级到 3.8.4: 选
HTTP_X_FORWARDED_FOR,受信代理 IP 填同样的 IP 段,一样能拿到真实 IP。 - 别把
CloudFront-Viewer-Address改写成X-Real-IP再选HTTP_X_REAL_IP。 这个头的格式是「IP:端口」,IPv6 也不加方括号,只有HTTP_CLOUDFRONT_VIEWER_ADDRESS会正确去掉端口。改写过去的话,IPv6 访客全都会变成 CloudFront 节点的 IP。 HTTP_CF_CONNECTING_IP是 Cloudflare 的,和 CloudFront 无关。
语言翻译
管理多语言词条。系统支持多语言,语言包可以在这里导入和编辑。
文件管理
后台自带的文件管理器,可以直接看和改网站文件。慎用,改错了站点会打不开。
操作日志
管理员在后台做过什么,都记在这里。多人管理时用得上。
