让我们假设HTML5网页带有(在)适当的服务器端背景,以便http://www.my-site.com/execute?query=" SELECT * FROM Table"通过AJAX执行并返回结果。确实不是很聪明。
但是,在混合移动应用程序的上下文中,例如iOS / Android / WindowsPhone包装器/骨架中的HTML5应用程序通过适当的商店作为应用程序提供时呢?
问:在混合移动应用的背景下,我们是否认为JavaScript是安全的?答案 0 :(得分:3)
我会说不。
如果有人查看您的网络通信,或者如果您意外忘记了某些调试日志记录,则可能很容易找到该网址。 在浏览器中调用(移动或桌面)时,查询可能也会起作用。
当然你可以问自己:你的移动应用程序有多受欢迎,有人甚至会试图破解它。但我不会赌它。
编辑:我们通常使用类似(REST)API的东西,服务器的答案是JSON,然后由客户端解析。不要让任何人输入SQL查询!
答:就iOS上的“安全性”而言:您可以使用以下方式浏览设备: IEXPLORER。在Android上,还有一些方法(root设备或adb)。给定phonegap结构,您的javascript将位于“assets_www”文件夹或类似文件夹中。因此,如果有人愿意,他/她可以像在网络上一样查看javascript源代码。
答案 1 :(得分:-1)
这会造成严重的痛苦。 一旦有人找到您的AJAX网址,他们就可以删除或插入数据库中的任何内容。
应用程序的逆向工程非常常见,因此一旦他们反编译您的应用程序,就可以非常轻松地找到您的AJAX URL。混合移动应用程序如果您将其视为本机应用程序,则可能非常容易受到攻
此外,使用proguard无法保护您的html / js源代码,因此您最好将它们视为网站'所有源都打开的前端,并保持相同的安全级别。