后台开了 reCAPTCHA 但登录页不显示怎么修
现象#
Online Store > Preferences 里已经打开 Google reCAPTCHA,但 /account/login 与联系表单上看不到任何验证组件,垃圾提交照旧。
原因#
- 主题用了手写 form 标签,没走 {% form 'customer_login' %},Shopify 不会注入验证组件
- 新顾客账户的登录页由 Shopify 托管,主题层的 reCAPTCHA 设置对它完全无效
- CSP 的 frame-src 没放行 google.com,组件被浏览器拦掉,页面上只剩一块空白
- 广告拦截插件或企业网络屏蔽了 recaptcha 域名,本地正常而顾客那边不显示
处理步骤#
- 把登录表单换回
{% form 'customer_login' %},注册表单用{% form 'create_customer' %} - 检查
theme.liquid的 CSP,给frame-src加上https://www.google.com - 用无痕窗口并关掉广告拦截,访问
/account/login看是否出现验证徽标 - 执行
curl -I抓页面,确认响应里含有g-recaptcha脚本 - 新顾客账户不要指望主题层防护,把邮箱验证码当作主要防刷手段
验收标准#
无痕窗口访问登录页能看到 reCAPTCHA 徽标,空表单提交被拦下并返回错误提示。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。