Google app engine GWT中外部jar文件的安全性

Google app engine GWT中外部jar文件的安全性,google-app-engine,gwt,jar,Google App Engine,Gwt,Jar,我已经创建了一个GWT项目,它成功地使用了一个外部jar文件(参见‎ 及) 当我使用这样的库文件时,当我编译项目并将其上传到AppEngine时会发生什么?jar文件是按原样上传的,还是先编译成其他文件?如果是前者,在没有我控制的情况下下载会有任何安全风险吗?让我们放弃“谷歌应用程序引擎”部分,这里没关系。您可以在客户端使用GWT中的库。appengine是服务器端的,没有直接连接到GWT(但是由于卷限制,利用一些客户端执行(比如GWT)是非常有用的) GWT中使用的所有内容都将编译为JavaS

我已经创建了一个GWT项目,它成功地使用了一个外部jar文件(参见‎ 及)

当我使用这样的库文件时,当我编译项目并将其上传到AppEngine时会发生什么?jar文件是按原样上传的,还是先编译成其他文件?如果是前者,在没有我控制的情况下下载会有任何安全风险吗?

让我们放弃“谷歌应用程序引擎”部分,这里没关系。您可以在客户端使用GWT中的库。appengine是服务器端的,没有直接连接到GWT(但是由于卷限制,利用一些客户端执行(比如GWT)是非常有用的)

GWT中使用的所有内容都将编译为JavaScript,传输到客户端并在那里执行。显然,您无法控制结果以及客户如何处理结果

但它几乎是不可读的。另外,客户机本身并没有得到JAR,也没有得到JAR中的所有内容


所以真正重要的是库的许可证是否允许这样做,以及库代码中是否有仅用于服务器端的机密。

实际上,他的回答并不完全正确。“谷歌应用引擎”部分在这里很重要。从技术上讲,GWT编译并混淆它所需要的所有Java代码。它会去掉所有不需要的东西。因此,从GWT生成的JavaScript来看,确实不可能重建或甚至识别库。但事实证明,如果使用Eclipse插件部署应用程序,appcfg会将各种随机内容上传到AppEngine服务器,有时还包括项目的整个Java源代码(包括客户端代码)

要查看在执行部署时上载的内容,请在上载运行时检查系统的
temp
-目录。您将在那里找到一个AppEngine暂存目录,其中包含要发送的所有内容

有关解决方法的建议,您可以参考我之前提出的一个问题的答案:

我没有检查的是,是否所有不需要的上传文件最终都位于实际上可以从互联网直接访问的目录中