Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何做一个;克洛特监狱”;对于Javascript?_Javascript_Google Apps Script_Gmail Addons - Fatal编程技术网

如何做一个;克洛特监狱”;对于Javascript?

如何做一个;克洛特监狱”;对于Javascript?,javascript,google-apps-script,gmail-addons,Javascript,Google Apps Script,Gmail Addons,我需要运行不安全代码并获取返回值。我能做这个吗 这是我的密码: function buildCards(e) { const accessToken = e.messageMetadata.accessToken; GmailApp.setCurrentMessageAccessToken(accessToken); const messageId = e.messageMetadata.messageId; const mail = GmailApp.getMessag

我需要运行不安全代码并获取返回值。我能做这个吗

这是我的密码:

function buildCards(e) {
  const accessToken = e.messageMetadata.accessToken;
  GmailApp.setCurrentMessageAccessToken(accessToken);    
  const messageId = e.messageMetadata.messageId;
  const mail = GmailApp.getMessageById(messageId);
  const thread = mail.getThread();
  var send_data = ...
  var response = authenticateAndFetch(send_data);

  const retval = function(){return eval(response)}()
  return retval
}

这将从服务器获取
响应
,并在本地运行。我希望最小化
响应
可以访问的环境。这种方法足以隔离响应的执行吗?

JavaScript将在哪里执行?如果它在浏览器中,它可以访问的环境将受到相当大的限制。并且将依赖于浏览器。这将用于访问来自多个用户的邮件的应用程序还是部署脚本的一部分?此代码在Google端运行,我正在添加Google apps脚本标记。此脚本由Google代表用户运行。但是“响应”数据来自第三方不受信任的服务器。对于加载项,您必须将访问的URL列入白名单,因此,除非您使用自己的服务器作为代理,并让加载项用户指定自己的端点通过您进行查询,否则您必须已经知道端点。如果您通过服务器代理,为什么不让服务器以您自己的沙盒方式进行响应评估?我支持这个想法,以确保您收到的数据来自信任URL、证书、,DNSSEC,然后将执行风险降至最低。否则,您将不得不在浏览器中运行类似于完整*NIX操作系统的操作,以封装该命令。