这个问题主要是出于安全考虑。我需要知道是否可以通过任何方式(插件、编程或其他方式)查看编译为 javascript 的 gwt 应用程序中所有变量及其值的列表。
假设我有一个由 gwt 在其正常部署模式下创建的变量 x...让我们忽略该值是如何到达那里的...用户能否以某种方式知道有一个名为 x 的变量及其值...
请注意,我不是在寻找软件工程最佳实践,这个问题已经过分简化,所以我们直奔主题。我知道首先我不应该对客户有任何敏感的事情......但是请让我们跳过它,因为这个案子是一个更大的故事......
非常感谢..
最佳答案
短遮阳篷……是的……
GWT 编译成 javascript 并混淆一切,也就是说,如果知道要查找什么,所有信息都可以从编译后的源代码中获得。如果有人成功地将一个简单的脚本标记注入(inject)到您的应用程序中,他们可以通过 XMLHttpRequest 简单地检索所有脚本并将它们解析为文本。无论多么混淆,理论上都可以从任何 javascript 源中获得您想要的东西。如果您可以在原始脚本文件中看到它,那么它是可以实现的,如果它被锁定在匿名闭包或诸如此类的东西中并不重要,任何 JS 安全机制都可以被规避。
主要条件是获取页面的控制权(脚本注入(inject))。
引用你自己的话:“我知道我一开始就不应该对客户有任何敏感的事情……”
如果值得破解,人们就会尝试。
关于javascript - 查看 GWT 应用程序的所有 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5550615/