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

Google Apps Script中如何清理表单输入XSS避免邮件HTML渲染问题

解决Google Apps Script中HTML标签转义问题

Google Apps Script没有专门用于HTML转义的内置函数,你提到的encodeURI/encodeURIComponent是针对URL编码的,完全不适合处理HTML特殊字符,必须手动实现转义逻辑。

需要转义的核心HTML特殊字符有5个:&、<、>、"、',转义后它们会变成对应的HTML实体,这样在HTML格式的邮件里就会显示原始字符,而不会被解析渲染。

下面是一个简单的转义函数实现:

function escapeHtml(inputText) {
  if (typeof inputText !== 'string') return inputText;
  return inputText
    .replace(/&/g, '&amp;')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;')
    .replace(/"/g, '&quot;')
    .replace(/'/g, '&#039;');
}

使用的时候,只需要把表单获取到的输入值传入这个函数,再将返回结果插入邮件内容即可。比如:

// 假设formResponse是从Google Forms获取的响应对象
const userInput = formResponse.getItemResponses()[0].getResponse();
const escapedInput = escapeHtml(userInput);
// 将escapedInput插入HTML邮件模板中发送

如果你的邮件是纯文本格式,其实不会出现标签被渲染的问题,但如果是HTML邮件,这个转义步骤是必须的,能有效避免用户输入的HTML破坏邮件格式或者注入恶意代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 21:32:41