Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Web applications 应用程序脚本-Web应用程序:可见源代码/库?_Web Applications_Google Apps Script - Fatal编程技术网

Web applications 应用程序脚本-Web应用程序:可见源代码/库?

Web applications 应用程序脚本-Web应用程序:可见源代码/库?,web-applications,google-apps-script,Web Applications,Google Apps Script,如果我将一个项目发布为公共web应用程序,只接收和响应几个变量。。。那么完整的源代码和使用过的库是否对所有用户都可见?否。发布应用程序和文件共享是两件不同的事情。您可以将应用程序脚本应用程序发布为“任何人,甚至匿名”,以访问web应用程序,但如果您不与任何人共享该文件,则他们无法访问该代码 如果您与某人共享电子表格文件之类的内容,并且他们制作了电子表格的副本,那么他们将成为电子表格副本的所有者,并且绑定到电子表格的所有代码都将随电子表格一起使用。在这种情况下,您的代码将不安全 但是,如果它是一个

如果我将一个项目发布为公共web应用程序,只接收和响应几个变量。。。那么完整的源代码和使用过的库是否对所有用户都可见?

否。发布应用程序和文件共享是两件不同的事情。您可以将应用程序脚本应用程序发布为“任何人,甚至匿名”,以访问web应用程序,但如果您不与任何人共享该文件,则他们无法访问该代码

如果您与某人共享电子表格文件之类的内容,并且他们制作了电子表格的副本,那么他们将成为电子表格副本的所有者,并且绑定到电子表格的所有代码都将随电子表格一起使用。在这种情况下,您的代码将不安全

但是,如果它是一个独立的应用程序脚本,并且您没有与任何人共享文件,您仍然可以授予任何人使用发布的URL运行应用程序的权限

很多人创建绑定到电子表格的应用程序脚本代码,但他们可能没有意识到,当他们共享电子表格文件时,没有办法保护他们的代码

独立应用程序不绑定任何内容。这就是区别。当然,HTML中的任何JavaScript代码都是向世界开放的。唯一无法查看的代码是独立应用程序中的服务器端
.gs
代码

除非您的函数名是私有的,否则知道如何获取所有非私有函数的名称的人可以获取这些名称。但是仅仅因为他们有一个函数的名称,并不意味着他们可以得到代码。(据我所知)。但是,有人可以在浏览器中修改HTML,如果他们有函数名,可能会使用
google.script.run
运行较低级别的函数


如果您向某人提供了项目密钥,将其用作他们拥有的文件中的库,那么一旦他们放入新库,他们就会收到一封电子邮件,其中包含指向该库的链接,他们可以查看该链接。所以,问题是,他们是否知道库的URL。如果他们永远不知道库的URL,他们就无法查看它。(除非他们不知何故猜到了URL是什么,并且运气好)。但是,如果是一个独立的应用程序脚本,该脚本由您所有,且未与任何人共享,则无需将项目密钥作为库添加。

感谢您的详细回答。所以我现在生成一些带有下划线的随机函数名,以保持它们的私密性。为了提高安全性,最好使用带有下划线的私密性函数,并将它们命名为密码。长,并带有随机字符。有些函数可能返回不受关注的数据。文档给出了一个返回银行余额的函数示例。但你也不希望有人能够写未经验证的数据,或者用你的帐户名发送和发送电子邮件。