美文网首页
iOS 沙盒机制

iOS 沙盒机制

作者: anny_4243 | 来源:发表于2022-07-21 17:05 被阅读0次

沙盒(sandbox)是 iOS 的一个防御机制,每个应用都有一个属于自己的沙盒。应用只能在自己的沙盒目录下读写数据,应用 A 不能访问应用 B 的沙盒,它们之间是互相隔离的。正因如此,攻击者在上传恶意程序后,即使侥幸通过了 App Store的审核,安装到用户手机上的应用也无法获取其他应用的数据。获取沙盒目录的方法如下:

- (void)getPath{
    //获取沙盒根目录路径
    NSString *homeDir = NSHomeDirectory();
    NSLog(@"honedir:%@",homeDir);
    
    //获取 Documents 目录路径
    NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
    NSLog(@"docDir: %@",docDir);
    
    //获取 Library 目录路径
    NSString *libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
    NSLog(@"libDir: %@",libDir);
    
    //获取 cache 目录路径
    NSString *cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
    NSLog(@"cachesDir: %@",cachesDir);
    
    //获取 tmp 目录路径
    NSString *tmpDir = NSTemporaryDirectory();
    NSLog(@"tmpDir: %@",tmpDir);
    
    //获取应用自身的 xx.app 目录
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *strAppPath = [bundle bundlePath];
    NSLog(@"appDir: %@",strAppPath);
}

输出的结果如下:

沙盒机制限制了应用只能读写沙盒之内的文件,而我们在有些情况下需要访问一些公共资源(比如通讯录、短信、照片和位置等),这些是存在于沙盒之外的。针对这个问题,苹果公司提供了公开的 API 用于访问公共资源,并且每次访问时都会弹出申请权限提示框,只有用户允许后,才能访问成功,比如微信访问照片时会提示需要用户授权,如图所示。

微信访问照片库

摘自《iOS黑客攻防秘籍(第2版)》

相关文章

  • iOS 系统相关复习

    沙盒 iOS沙盒详细介绍iOS沙盒篇 沙盒机制介绍 iOS中的沙盒机制是一种安全体系。为了保证系统安全,iOS每个...

  • 使用沙盒的正确姿势

    在学习iOS存储方法之前,先了解一下iOS存储机制——沙盒应用沙盒机制:每个iOS应用都有自己的应用沙盒(文件系统...

  • Objective-C沙盒结构

    导读: 一、什么是沙盒机制二、沙盒的特点三、沙盒的结构组成四、获取沙盒目录路径 一、什么是沙盒机制 iOS中的沙盒...

  • OC - 沙盒

    导读: 一、什么是沙盒机制 二、沙盒的特点 三、沙盒的结构组成 四、获取沙盒目录路径 一、什么是沙盒机制 iOS中...

  • IOS中的数据持久化之沙盒篇

    提到数据持久化 我们必须得先了解IOS程序的沙盒机制(sandBox)。 1.IOS沙盒机制介绍 iOS应用程...

  • iOS 的机制

    1、SandBox机制(沙盒机制) Sandbox 被简称为 应用程序沙盒,沙盒 或者 沙箱。在 iOS (mac...

  • iOS 开发之沙盒机制

    iOS 开发之沙盒机制

  • 05-iOS数据存储

    一、iOS沙盒机制 iOS的每个应用都有属于自己的存储空间,即沙盒应用只能访问自己的沙盒,不可访问其他区域。 沙盒...

  • iOS数据持久化(1)-文件读写

    1.沙盒机制 iOS采用沙盒机制管理应用,应用只能访问自己目录下的文件。iOS不像Android,没有SD卡概念,...

  • 数据持久化

    数据持久化 IOS沙盒机制(SandBox) IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序...

网友评论

      本文标题:iOS 沙盒机制

      本文链接:https://www.haomeiwen.com/subject/hdauirtx.html