You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除在线表单提交邮件中的g-recaptcha-response字段

解决方法

邮件里出现g-recaptcha-response字段的原因很简单:reCAPTCHA验证通过后会自动往表单注入同名隐藏参数提交到后端,你当前生成邮件内容时是遍历全量$_POST参数输出,且没有提前把这个仅用于验证码校验的系统字段排除掉。

操作步骤

找到后端代码里批量清理不需要展示字段的unset代码块,在现有unset列表最后加一行即可:

unset($_POST['g-recaptcha-response']);

修改后对应代码段如下:

# FORM MAIL TO SENT
unset($_POST['title']);
unset($_POST['form_subject']);
unset($_POST['email_var']);
unset($_POST['hotel_var']);
unset($_POST['language']);
unset($_POST['lbl_privacy_policy']);
unset($_POST['lbl_form_confirmation']);
unset($_POST['submit']);
// 排除reCAPTCHA返回字段,避免出现在邮件中
unset($_POST['g-recaptcha-response']);

注意事项

  • 这行代码必须放在reCAPTCHA校验逻辑执行完成之后、两个邮件表格(管理员通知$table、用户回执$table_u)的遍历生成逻辑之前,否则会导致验证码校验拿不到参数失效。
  • 改完之后两个表格的遍历逻辑都读不到这个字段,管理员收的通知邮件和用户收的确认邮件里都会自动隐藏这一项,不需要单独修改两处表格生成代码。
  • 后续如果还有其他仅用于业务逻辑、不需要展示在邮件里的表单字段,都可以用同样的方式在遍历前unset排除。

内容的提问来源于stack exchange,提问作者Rob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 18:27:34