来源:http://www.hengtaiboyuan.com 作者:恒泰博远 时间:2014-06-03
Android已经内置到操作系统的安全功能,显著降低应用安全问题的频次和影响,但作为应用程序开发人员,它的我们的工作,以确保应用程序。安全级别是取决于应用程序的类型和领域。有我们需要的不要忘记一些安全方面的问题。我收集那些常见的技巧这篇文章。
在这里,我列出了下来,开发商应小心保护应用程序最常见的事情。
不要储存在SD卡私人或敏感数据。要存储在内部存储的文件,请使用以下的私人模式( Context.MODE_PRIVATE ) openFileOutput & openFileInput方法。如果你真的想将数据存储在SD卡,然后对它进行加密。你会发现许多加密库。我更喜欢从Facebook隐瞒。
使用出口标志设置为假ContentProvider的限制。这并不是说每一个我们开发的ContentProvider的应用,但ContentProvider的之间的数据交换的时间可以为单个应用程序或私人开发的情况。
1
<provider android:exported="false" android:name="MyContentProvider" android:authorities="com.example.mycontentprovider" />
限制的WebView来访问本地数据。 HTML5和相关技术已经成为流行的开发移动Web应用程序或混合应用程序。对于Hybrid采用的WebView从本地存储显示的HTML内容或获取的HTML和从服务器的其他内容。对于web视图重大安全问题是setAllowFileAccess ()和setAllowContentAccess ( )方法。
通过广播和意图不传递敏感信息。使用LocalBroadcastManager的进程内/应用程序的广播数据。 LocalBroadcastManager提供支持库V4 。
不要在LogCat中打印敏感信息。喜欢的用户名,密码, Web服务的URL ,请求或响应信息等细节。
发布应用程序之前删除不必要的日志。
不处理恶意的意图。在之前的BroadcastReceiver的方法的OnReceive过程中收到的意向书,验证调用者的包名,动作等信息。
保护您的许可服务。使用裸露的标志为假当服务是只针对你的应用程序开发。
限制访问活动。如果活动只面向内部使用的应用程序中,然后使用出口标志设置为假。
1
<activity android:name=".view.MyActivity" android:exported="false"> < /活动>
确保调试模式是假的之前发布的APK 。
加密敏感数据,即使您在内部存储。
对于跨应用程序的功能,验证调用应用程序响应之前。
正确验证服务器证书的TLS / SSL用于HTTPS的Web调用。
使用NDK每当你觉得这些信息是不是安全的Java代码,因为它可以很容易地反编译。即常数。
使用ProGuard的是收缩,优化和混淆你的代码。
从AndroidManifest.xml文件中删除不需要的/未使用的<user-permission>
加载应用程序之外classes.dex是重大安全隐患。 DexClassLoader允许开发者装载classes.dex上的需求。
资源: http://developer.android.com/training/articles/security-tips.html
本文链接:http://www.hengtaiboyuan.com/jsdt/content_84 转载请注明来自北京恒泰博远科技有限公司