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

Outlook/Teams加载项代码能否在客户端应用中被修改?

问题解答

是的,用户完全可以修改本地运行的Outlook加载项代码,伪造发送给你API的邮箱地址。

原因:

  • 用Yeoman生成的Outlook加载项,其客户端代码(包括commands.js)是运行在用户的浏览器或Outlook客户端的沙箱环境中。用户可以通过以下方式篡改代码逻辑:
    • 在浏览器中,利用开发者工具(如Chrome DevTools)的Sources面板直接修改action函数的内容,保存后即可生效,点击加载项按钮时就会发送伪造的邮箱。
    • 如果是用户本地侧加载的加载项,他们甚至可以直接编辑本地文件系统中的commands.js,修改后重新加载加载项,篡改后的代码就会被执行。

防范方案:

既然客户端数据不可信,你需要从后端层面做验证和校验:

  • 验证邮箱格式:后端接收到邮箱后,先检查格式是否符合标准(比如用正则表达式或成熟的验证库),直接拒绝格式无效的请求。
  • 通过身份验证获取真实邮箱:不要依赖客户端传递的邮箱值,而是通过Microsoft Graph API结合单点登录(SSO)功能,让后端获取用户的合法身份令牌,再调用Graph API获取用户的真实邮箱信息。这种方式下,客户端无法篡改令牌中的身份数据,能确保你拿到的是用户的真实邮箱。
  • 添加请求签名验证:可以给客户端请求添加签名,后端验证签名的合法性,防止请求被篡改。不过这种方式需要妥善保管签名密钥,避免泄露。

内容的提问来源于stack exchange,提问作者curious-buddy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 12:41:29