1. 程式人生 > >關於Android應用開發的一些安全註意事項

關於Android應用開發的一些安全註意事項

gui IT tracking output 技術 偽造 ger 每一個 idm


原文地址: http://www.javacodegeeks.com/2014/05/simple-tips-to-secure-android-app.html

????????????????? http://developer.android.com/training/articles/security-tips.html


Android已經具有內置到操作系統的安全功能。顯著減少應用安全問題頻次和影響,但作為應用程序開發者,我們也須要註意在開發應用程序時的安全問題. 安全級別取決於應用程序的類型域.

這裏有我們須要註意的一些潛在的安全問題,我已經收集到了這篇文章中.


在這裏我列出來在開發應用中須要保護應用程序最常見的一些事項:

1.不要把私人或敏感數據儲存SD卡

要存儲內部存儲的文件,請使用下面模式Context.MODE_PRIVATEopenFileOutputopenFileInput方法假設你真的想將數據存儲在SD卡。然後對它進行加密使用.


2.通過標識exported flag 為false限制ContentProvider的使用,當然並不一定每一個應用中都這樣使用,僅僅是在沒有與其它應用交互的情況下要標識為false.


3.限制的WebView來訪問本地數據

HTML5和

相關技術已經普遍應用在移動Web應用程序混合型(Hybird)應用程序。對於Hybrid採用的WebView本地存儲顯示的HTML從server獲取HTML和的其它內容對於webview重大安全問題setAllowFileAccess()和setAllowContentAccess()方法.


4.通過BroadCastReceiver和Intent傳遞敏感信息。使用LocalBroadcastManager進程/應用程序的廣播數據傳遞

使用LocalBroadcastManager須要supportv4.jar.


5.不要在LogCat中打印敏感信息。喜歡的usernamepassword

Web服務的URL請求或響應信息等細節.


6.在應用上線前去除沒有必要的log日誌


7.不接收處理一些惡意偽造的Intent.之前BroadcastReceiver的方法的OnReceive()方法中收到的Intent驗證調用者的包名,動作等信息



8.給Service加上相應的自己定義權限.假設僅僅有自己的應用使用時能夠加上 exported = false(同ContentProvider).


9.限制Activity的訪問,.假設僅僅有自己的應用使用時能夠加上 exported = false.


10.應用公布之前確保debug mode 為false.


11.對於跨應用程序的功能應用程序響應之前驗證調用.


12.server驗證方面能夠使用基於Https的訪問.


13.當你認為某些變量或者方法在Java層easy破解的時候,能夠把相應變量改為用JNI的方式去獲取


14.使用ProGuard 文件混淆代碼


15.移除from AndroidManifest.xml中不必要的權限.


16.慎用DexClassLoader 載入應用程序之外的dex文件.


關於Android應用開發的一些安全註意事項