2012-05-05 107 views
12

我是创建具有phonegap的移动应用程序的初学者。在创建具有phonegap的移动应用程序时,我对安全性方面存在一些疑问。使用PhoneGap创建移动应用程序时的安全注意事项

  1. 我想创建一个访问Web服务的应用程序,例如,使用Jersey创建的REST服务。现在,我是否认为黑客可以轻松查看所使用的安全密钥/身份验证机制,并在服务器(使用REST API的位置)对客户端(在移动应用程序上)进行身份验证?

  2. 一般来说,黑客能否轻松访问移动应用程序(使用phonegap创建的)发送的所有数据?

  3. 黑客能否反汇编手机应用程序以获取原始代码?不会他得到本机代码(例如ios中的Objective C)?或者他可以反编译成原始phonegap代码(即html + js)?如何防止我的代码被反编译?这种情况是否与大多数其他语言一样,即具有强大PC的黑客可以侵入任何程序/软件?有什么办法可以防止这种情况发生?

回答

20

好吧,先深吸一口气。你可能不会喜欢我的一些答案,但你会生活在同样的问题,我们都是。

  1. 在这种情况下,最好的做法是使用类似KeyChain插件从本机端检索您的安全密钥。

  2. 您可以将PhoneGap置于问题之外,因为它适用于在客户端和服务器之间发送未加密数据的任何情况。任何人都可以轻松收听使用Wireshark或Ethereal等多种工具。如果您需要与服务器通信,则应该使用加密的HTTPS或SSL连接进行通信。

  3. 首先,我认为您错误地认为PhoneGap会将您的HTML/JS代码编译到Obj-C中。它不是。如果用户解压你的应用程序,他们将能够阅读你的HTML/JS。另外,他们也可以反编译你的Obj-C代码。这不需要强大的PC甚至是经验丰富的黑客。几乎任何人都可以做到这一点。

我给你的建议是不要担心。把你的时间放在创建一个真正好的应用程序。支付费用的人将为此付费。无论如何,反编译它的人都不会购买应用程序。尝试与黑客作斗争的时间越多,您就可以利用这些时间来增加您的应用。而且,大多数反黑客措施只会让您的实际用户更难以生活,因此事实上他们会反作用。

+0

我对你有几个问题 - 现在很多公共REST API使用OAuth或亚马逊的模型(对于AWS) - 对于移动应用程序是否足够? (根据你的回答,我认为OAuth和亚马逊的模型都使用HTTPS ...)另外,由于Phonegap的某些功能只需要本地网页,所以HTTPS不会适用于本地应用程序?...谢谢 – Arvind

+1

OAuth很适合PhoneGap应用程序。那么如果所有的页面都是本地的,那么就没有与外部工作的沟通,因此黑客无法窥探。 –

+1

MacDonald先生的回复虽然善意,但并没有考虑到因为这个原因而担心应用程序解压缩的开发人员:其他开发人员可能会阅读代码,盗用它,并用它来开发竞争应用程序。这是一个严肃和合理的问题,在思考使用PhoneGap时需要考虑。 – 2014-06-18 21:27:17

相关问题