有没有办法在google web app中为发布请求指定受信任的来源?

时间:2018-01-11 11:54:13

标签: http security google-apps-script http-post google-sheets-api

我们说我创建了一个Google工作表来捕获用户的电子邮件地址。 在我的网站上有一个小表单,一旦点击提交按钮,就会触发向google web app发送数据到表单的ajax请求:

// Let's select and cache all the fields
var $inputs = $form.find("input, select, button, textarea");

// Serialize the data in the form
var serializedData = $form.serialize();

// Fire off the request
request = $.ajax({
    url: https://script.google.com/macros/s/longURLcode/exec,
    type: "post",
    data: serializedData
});

在google脚本中,您现在使用doPost(e)或doGet(e)来处理任何传入的http请求。要允许它作为注册机制工作,必须将Web应用程序的权限设置为(我认为!?)

执行应用:我(myemail@gmail.com)

谁有权访问该应用:任何人,甚至匿名

鉴于google脚本网站上的所有内容都已正确设置,这就像魅力一样。那怎么了?

问题:

任何人都可以查看我的网页的源代码,或者在点击提交后使用开发工具将网址提取到Google网络应用。理论上,这个网址现在可用于使用无数(未定义)条目填充工作表。

问题:

1)有没有办法将接受的http请求限制在某些来源?我试图通过访问doPost()中的http标头来做到这一点,但似乎没有办法这样做。

2)" 谁有权访问该应用:任何人,甚至是匿名的"错误的做法?我认为这是必要的,因为你只能在这里选择谷歌用户,而某些网址(mywebsite.com)似乎属于匿名类别。

3)我不认为这是可能的,但也许我错过了一个选项:有没有办法不向任何人公开谷歌网络应用程序网址?我想不是因为您可以使用开发工具监控任何请求。

4)使用工作表来捕获这类数据一般只是一个可怕的想法(部分是出于上述原因),我应该尽快找到另一种解决方案?

0 个答案:

没有答案