像我这样执行App ...这样安全吗?

时间:2015-08-28 18:43:36

标签: security deployment google-apps-script permissions

我目前正在创建一个简单的Google脚本,它基本上只是一种人们可以填写上传几个文件的表单。

当我点击Deploy as a Web App时,其中一个表单项会询问:

执行应用程序:

其中一个选项是

我(imray ****** @ gmail.com)

这样安全吗?这是否意味着任何拥有该脚本链接的人实际上都会登录到我的帐户?这有安全隐患吗?

Google Script deploy

2 个答案:

答案 0 :(得分:0)

如果其他人有权修改您的脚本,那么他可以重新发布可以访问您之前授权的任何应用的应用,但不会有新的授权。例如,如果您仅使用SpreadsheetApp作为第一个代码并授权它,那么有权修改您已发布的此脚本的人可以打开所有电子表格并将其删除,但无法触及文档。

使用已发布的应用程序URL的人将不会执行此操作,它只会运行您/共享脚本编写者发布的脚本。

我经常使用“我”/“任何人甚至匿名”,发布了数十个应用程序,从未遇到任何问题。

答案 1 :(得分:0)

最重要的问题之一是,谁有权访问Apps脚本 文件 。文件共享设置的设置与Web应用程序部署设置完全不同。您可以拥有Apps脚本文件 SHARED 设置,设置为不与任何人共享仍然让任何人都可以访问该网络应用。因此,访问网络应用以及访问文件是两回事。这是理解的关键点。

执行应用 me ,本身并不安全。它不会将某人记录到您的帐户中。 IF 您以某种方式配置了自己的应用,以便为您的帐户提供广泛的访问权限,您可以这样做,这显然是一个潜在的安全漏洞。是否存在潜在的安全漏洞?是。但是,任何网络应用程序都没有任何安全漏洞。所以,它真的取决于你使用的做法。

不要在客户端HTML中使用/存储设置/参数,这会直接导致服务器功能执行您不希望任何人能够执行的操作。

您的应用的安全程度取决于一些简单的做法。

不要在HTML中存储可能导致安全漏洞的设置或信息。密码就是一个明显的例子。不要在HTML代码中放置文件名。不要将客户端呼叫中的设置或参数传递给服务器,这些设置或参数显然是指向对您的帐户具有广泛访问权限的服务器功能的直接链接。

您可以在服务器端功能名称的末尾添加一个下划线,以便用户无法知道您的服务器功能的名称。

https://developers.google.com/apps-script/guides/html/communication#private_functions

有一个主服务器函数,然后调用一个私有函数,该函数又分支到其他函数。因此,用户永远不会知道最终完成所有实际工作的函数的名称。