設置組件訪問權限安全
組件傳輸數據驗證ide
暴露組件的代碼檢查編碼
(1)不聲明taskAffinity對象
(2)不聲明 LaunchModeit
(3) 設置exported爲falseio
(4) 保證intent發送時的安全性,肯定Intent是來自本應用程序ast
(5)在確保本應用程序發送Intent的時候,能夠防止一些敏感信息service
(6)啓動Activity的時候不設置FLAG_ACTIVITY_NEW_TASK權限
(7) 使用顯示Intent與指定的類的方式來調用一個activity請求
(8)敏感的信息放置在extra中發送
(9)在onActivityResult的時候應對返回的data當心處理
(1)設置exported爲true
(2)接到Intent時注意當心處理
(3)finish時在Intent中放置一些敏感信息
(1)不聲明taskAffinity
(2)不聲明 LaunchMode
(3) 不設置intent-filler設置exported爲true
(4) 使用白名單機制驗證應用簽名
(5)處理Partner Activity來的Intent時當心注意
(6)只返回給Partner Activity一些公開信息
另外一方Partner Activity啓動該activity
(1)不適用FLAG_ACTIVITY_NEW_TASK
(2)extra中不放置一些公開與不敏感的信息
(3) 使用顯示intent,具體到報名、類名
(4) 使用startActivityForResult()啓動Partner Activity,返回時能夠作校驗
(1)定義Activity的簽名權限爲signnature
(2)不聲明taskAffinity
(3) 不聲明 LaunchMode
(4) 不設置intent-filler設置exported爲true
(5)驗證簽名
(6)驗證intent傳輸的數據要當心
Brocast Recevier分爲:私有、公共、內部
也可分爲靜態廣播和動態廣播
(1)不設置intent-filler設置exported爲false
(2)接收處理Intent信息的時候注意信息安全
(3) 能夠防止一些重要的信息在Intent中傳輸,全部處理完畢後須要終止掉廣播
(1)設置exported爲true
(2)獲取Intent的時候當心處理
(3) return result的時候別防止敏感信息
(1)定義一個內部的Signature Permission來發送、接受廣播
(2)設置exported爲true
(3) 動態、靜態廣播註冊的時候也須要聲明Signature Permission。
(1)設置exported爲false
(2)接收處理Intent信息的時候注意數據的敏感性和來源的正確性
(3) 確保在同一個應用中的Intent才能夠防止敏感信息
(1)設置exported爲true
(2)發送接收處理Intent信息的時候注意敏感信息
(3) return的時候不放置敏感信息
(1)設置exported爲true
(2)處理Intent信息的時候當心
(3) 注意返回消息,特別是敏感信息的接收對象
(1)創建一個signature的permission
(2)給待啓動的service添加permission
(3) 不設置intent-filler設置exported爲true
(4)在不一樣的內部應用中使用相同的簽名
(5)使用intent發送、返回數據的時候注意敏感信息的處理
(1)2.2以前的版本別使用
(2)設置exported爲false
(3) 只能在同一個應用程序中進行敏感信息的發送和接收
(1)返回result時不放置敏感信息
(2)設置exported爲true
(3) 接收輸入條件時當心
(1)在代碼中對使用方的包名和簽名作檢驗操做
(2)設置exported爲true
(3) 接收處理敏感信息時當心
(4)確承認以公開合做夥伴的信息才作返回
(1)定義一個signature的permission
(2)設置該content provide須要此permission
(3) 設置exported屬性爲true
(4) 代碼內部檢測傳入應用的簽名和包名的合法性
(5)傳入的參數信息與返回信息注意敏感數據泄露
(1)2.2以前的版本別使用
(2)設置exported爲false
(3) 指定容許訪問的uri權限授予臨時路徑
(4)處理接收到的請求數據和安全,即便已經得到應用程序的監視受權
(5)返回數據時只返回部分開放的內容
(6)給予指定的uri的intent臨時訪問權限