混合移动应用中的JavaScript安全风险

混合移动应用中的JavaScript安全风险,javascript,security,hybrid-mobile-app,Javascript,Security,Hybrid Mobile App,让我们假设HTML5网页具有适当的服务器端背景,以便通过AJAX执行“SELECT*FROM Table”,并返回结果。确实不是很聪明 但是,在混合移动应用程序的上下文中,即iOS/Android/WindowsPhone包装器/框架中的HTML5应用程序通过适当的商店作为应用程序交付时,情况如何 < P> Q:在混合移动应用程序的上下文中,我们考虑JavaScript安全吗? 我会说不。 如果有人查看您的网络通信,或者如果您不小心忘记了一些调试日志记录,那么很可能很容易找到url。 当在浏览器

让我们假设HTML5网页具有适当的服务器端背景,以便通过AJAX执行“SELECT*FROM Table”,并返回结果。确实不是很聪明

但是,在混合移动应用程序的上下文中,即iOS/Android/WindowsPhone包装器/框架中的HTML5应用程序通过适当的商店作为应用程序交付时,情况如何

< P> Q:在混合移动应用程序的上下文中,我们考虑JavaScript安全吗?

我会说不。 如果有人查看您的网络通信,或者如果您不小心忘记了一些调试日志记录,那么很可能很容易找到url。 当在浏览器(移动或桌面)中调用时,查询可能也能工作

当然,你可以问自己:你的手机应用有多受欢迎?有人会尝试破解它吗。但我不敢打赌

编辑:我们通常使用(REST)API之类的东西,服务器的答案是JSON,然后由客户端解析。不要让任何人能够输入SQL查询


答:在iOS上的“安全性”方面:您可以使用例如iExplorer来浏览设备。在Android上,也有一些方法(根设备或adb)。给定phonegap结构,javascript将位于“assets\u www”文件夹或类似文件夹中。因此,如果有人愿意,他/她可以像在web上一样查看javascript源代码。

这将造成严重的痛苦。 一旦有人找到您的AJAX url,他们将能够删除或插入任何内容到您的数据库中

应用程序的反向工程是非常常见的,所以一旦他们刚刚反编译了你的应用程序,你就可以很容易地找到你的AJAX URL。如果你认为混合移动应用程序就像本地应用程序一样,那么它们可能非常容易受到攻击


此外,使用proguard无助于保护您的html/js源代码,因此您最好将它们视为网站的前端,所有源代码都是开放的,并保持相同的安全级别。

好的,回答很好,谢谢。现在想象另一个例子,页面中的JavaScript代码中存储了数据库的用户名和密码。在桌面上,您只需看到页面的源代码,就可以阅读它-->不安全。再说一次-在混合移动应用程序的上下文中-安全还是不安全?如果我理解正确,您希望将数据库登录数据明文放入javascript文件中吗?我不会把这种数据放在javascript中,不管是移动还是桌面。在服务器端执行此操作。服务器:连接数据库,请求数据,将数据发送到客户端:解析数据构建移动应用程序时没有服务器(使用PhoneGap/Cordova来定位iPad)。我明白了。所以,就“数据库”而言,您指的是本地数据库,可能是SQLLite?在iOS上的“安全性”方面:您可以使用iExplorer等工具浏览设备。在Android上,也有一些方法(根设备或adb)。给定phonegap结构,javascript将位于“assets\u www”文件夹或类似文件夹中。因此,如果有人愿意,他/她可以像在web上一样查看javascript源代码。现在不知道这是否回答了你的问题。还没有使用SQLLite。这个答案是巨大的,值得很多人投票支持。混合动力和原生动力的争夺战正在激烈进行,这是健康和生命科学应用程序的一个阻碍。