Shopify 顾客账户

后台开了 reCAPTCHA 但登录页不显示怎么修

现象#

Online Store > Preferences 里已经打开 Google reCAPTCHA,但 /account/login 与联系表单上看不到任何验证组件,垃圾提交照旧。

原因#

  • 主题用了手写 form 标签,没走 {% form 'customer_login' %},Shopify 不会注入验证组件
  • 新顾客账户的登录页由 Shopify 托管,主题层的 reCAPTCHA 设置对它完全无效
  • CSP 的 frame-src 没放行 google.com,组件被浏览器拦掉,页面上只剩一块空白
  • 广告拦截插件或企业网络屏蔽了 recaptcha 域名,本地正常而顾客那边不显示

处理步骤#

  1. 把登录表单换回 {% form 'customer_login' %},注册表单用 {% form 'create_customer' %}
  2. 检查 theme.liquid 的 CSP,给 frame-src 加上 https://www.google.com
  3. 用无痕窗口并关掉广告拦截,访问 /account/login 看是否出现验证徽标
  4. 执行 curl -I 抓页面,确认响应里含有 g-recaptcha 脚本
  5. 新顾客账户不要指望主题层防护,把邮箱验证码当作主要防刷手段

验收标准#

无痕窗口访问登录页能看到 reCAPTCHA 徽标,空表单提交被拦下并返回错误提示。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。