资讯详情

南通Android开发培训的最新课程

2020-04-16 阅读:82 来源:科迅教育
进入>

南通Android开发培训的最新课程 Android系统主要由Activity、Service、Content Provider和Broadcast Receiver四大基本组件构成。面向组件的设计带来了Android应用程序的灵活性和开放性,但是也带来了负面影响——缺乏安全性。组件的安全直接影响到整个应用程序乃至Android系统的安全。

作为应用程序的表示层,Activity的安全性和权限息息相关。设置Activity启动所要的权限时,需要在AndroidManifest.xml中为指定的Activity添加permission属性。比如,要为一个 Activity 设定 START_MY_ACTIVITY 权限,manifest文件中应该有如下定义:

<manifest< span="" style="word-break: break-all; margin: 0px; padding: 0px;">

Package="com. sample.sampleapps.sample1">

<activity< span="" style="word-break: break-all; margin: 0px; padding: 0px;">

android:permission="com.sample.sampleapps.samplel.permission.START_MY_ACTIVITY"〉

……

以上定义可以有效地防止应用程序在缺少START_MY_ACTIVITY权限的情况下启动MyActivity。如果一个应用想启动MyActivity,除了必须具备START_MY_ACTIVITY权限以外,还需要创建一个Intent对象来定义必要的特性,然后调用Context.startActiviy()或 Activity.startActivityForResult() 实现启动MyActivity。如果调用成功,MyActivity 才能被启动。如果应用程序没有被授予START_MY_ACTIVITY权限,两个调用都会失败并拋出一个SecurityException异常。另外,启动Activity时,如果应用程序已知所需启动的Activity名称,最好通过intent中定义的setComponent()方法调用这个Activity,这样可以防止系统在响应intent时,误启动其他的Activity。此外,密码等敏感信息不能放置于启动Activity的intent中,否则很容易被攻击者利用。

Service的安全性同样可以通过权限检测方式来提供保障。由于Service执行的操作比较敏感,涉及更新数据库、提供事件通知等操作,因此一定要确保访问Service的组件具备适当的权限。此外,如果访问Service的应用程序中含有密码等敏感信息,那么也需要对Service的安全性进行验证,以防止带有攻击性的Service损害私有信息。保险的做法是,不要轻易把Intent传递给一个公有的、未知名的Service。

与Activity、Service组件暴露的问题相比,Content Provider暴露的安全后果更严重。首先,它更容易暴露。Activity、Service组件只有响应intent或在manifest中设置了android:exported属性为true时才对外暴露。而Provider在早期的Android(Android 4.2)版本中直接就是对外暴露的。其次,它暴露的后果可能更严重,Activity、Service组件暴露后,第三方的应用只是调用这些组件,执行其入口点代码。而Provider暴露后,第三方应用不仅可以直接读取或修改它所管理的数据,甚至可以向其中写入恶意的数据,这样攻击者就可能通过精心构造的数据来控制应用的运行。与Activity、Service组件暴露问题的解决方法相似,Provider暴露的主要解决方法也是设置自定义权限,只是在具体方法上有所不同。

南通Android开发培训的最新课程 首先,如果Provider不需要提供给其它应用访问,则只需要在manifest中将android:exported的属性设置为false即可。其次,如果需要将Provider提供给同一团队开发的其它应用访问,可以在manifest中设置signature级别的自定义权限,并且可以对读取和写入两种操作分别设置不同的权限。最后,如果需要将Provider提供给第三方应用访问,除了直接暴露,还可以细粒度的对每个URI设置访问权限,这个权限可以通过在manifest中为Provider添加grant-uri-permission标签来实现。


加载全文

免责声明:本站部分内容、图片来自用户自主上传,如果您对本站信息资源版权的归属问题存有异议,请您致信,我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。

以上是科迅教育为大家整理的有关南通Android开发培训的最新课程的全部内容,更多精彩请访问学习资讯新闻专栏。

相关课程

更多>
2020猎学网广告栏
申请课程免费试听名额

课程顾问24小时内联系您

你好

顾问将于24小时内联系您!

确定
在线咨询 微信咨询 立即报名
申请1对1课程顾问咨询服务
×
你好

顾问将于24小时内联系您!

确定
南通猎学网 >科迅教育 >南通Android开发培训的最新课程