设置组件访问权限安全
组件传输数据验证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临时访问权限