沙盒机制_ios沙盒机制 - CSDN
精华内容
参与话题
  • iPhone沙盒机制

    千次阅读 2011-11-16 10:17:20
    iPhone应用程序都采用沙盒机制。也就是说,应用程序位于文件系统的严格限制部分。你的程序不能直接访问其他应用程序。   iPhone应用程序只能在为该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被...

    iPhone应用程序都采用沙盒机制。也就是说,应用程序位于文件系统的严格限制部分。你的程序不能直接访问其他应用程序。<Cookbook>

      iPhone应用程序只能在为该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。ios中的安装文件就如同一个个盒子一般,放在了 /user/applications目录下,以这个程序的眼光看外面的世界,他基本什么也看不到,因为他的权限如此之小,以至于他看不到在它的目录外,世界上还有什么?这也就是打开这个程序后不能打开其他程序内的文档的原因。

      究竟什么是“沙盒”技术呢?我这里以杀毒软件中的沙盒技术给大家解释一下,希望通过这个,大家能大概明白其中意思。与杀毒软件中主动防御技术原理截然不同。主动防御是发现程序有可疑行为时立即拦截并终止运行。“沙盒”技术则是发现可疑行为后让程序继续运行,当发现的确是病毒时才会终止。“沙盒”技术的实践运用流程是:让疑似病毒文件的可疑行为在虚拟的“沙盒”里充分表演,“沙盒”会记下它的每一个动作;当疑似病毒充分暴露了其病毒属性后,“沙盒”就会执行“回滚”机制:将病毒的痕迹和动作抹去,恢复系统到正常状态。如果您还不懂,那说的再简单一些。想象一下,在一个装满了平整细沙的盒子里,我们可以尽情随意地在上面作画、涂写,无论画的好坏,最后轻轻一抹,沙盒又回到了原来的平整状态。沙盒的魅力就在于他允许你出错,还可以给你改正的机会。这种技术也称之为“沙箱技术”。

    展开全文
  • iOS沙盒机制原理

    千次阅读 2017-04-17 16:01:42
    iOS应用程序只能在该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。 1.1、每个应用程序都有...

    iOS应用程序只能在该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。

    1.1、每个应用程序都有自己的存储空间 1.2、应用程序不能翻过自己的围墙去访问别的存储空间的内容 1.3、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。 通过这张图只能从表层上理解sandbox是一种安全体系,应用程序的所有操作都要通过这个体系来执行,其中核心内容是:sandbox对应用程序执行各种操作的权限限制。 1339897917_2531.png

    2.获取应用软件沙盒sandbox方法:

    通过在iOS程序viewDidLoad中打印NSString *path = NSHomeDirectory(); 然后在Finder中前往该打印出的路径,即可看到该程序的沙盒sandbox.

    例如:/Users/zhengyy/Library/Developer/CoreSimulator/Devices/3FDEE527-D4DB-492F-9490-1D04AF9559A8/data/Containers/Data/Application/82A190D8-C6F2-444F-90A5-17B051CC0021

    (可见sandbox保存在Mac用户文件夹下,而SDK保存在Xcode包content中)

    3.iphone沙盒模型的有四个文件夹:

    分别是 documents,Library,tmp,app包。 手动保存的文件在documents文件里,NSUserdefaults保存的文件在tmp文件夹里。

    1、Documents 目录:一般需要持久的数据都放在此目录中,可以在当中添加子文件夹,iTunes备份和恢复的时候,会包括此目录。您应该将所有de应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。

    2、Library 目录:这个目录下有两个子目录:Caches 和 Preferences

     Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
    
     Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。

    3、tmp 目录:这个目录用于存放临时文件,当iOS设备重启时,文件会被自动清除。

    4、AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。(Xcode 6以后似乎.app不保存在沙盒中)

    4.获取Sandbox下各文件夹路径的方法:

     //1. 沙盒根目录/

    NSString *homePath = NSHomeDirectory();
    
    NSLog(@"homePath:%@",homePath);
    
    //2. 沙盒/Documents/
    
    NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
    
    NSLog(@"docPath:%@",docPath);
    
    //3. 沙盒/Library/
    
    NSString *libPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject];
    
    NSLog(@"libPath:%@",libPath);
    
    //3.1 沙盒/Library/Preferences
    
    //NSString *preferPath = [NSSearchPathForDirectoriesInDomains(NSPreferencePanesDirectory, NSUserDomainMask, YES) firstObject];
    
    //此方法获取路径是沙盒/Library/PreferencePanes并不存在这样的路径,想要访问Preferences文件夹,需要拼接路径。或者直接使用NSUserDefaults便可以在Preferences文件夹下创建plist文件。
    
    NSString *preferPath = [libPath stringByAppendingPathComponent:@"Preferences"];
    
    NSLog(@"preferPath:%@",preferPath);
    
    //3.2 沙盒/Library/Cache
    
    NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
    
    NSLog(@"cachePath:%@",cachePath);
    
    //4. 沙盒/tmp
    
    NSString *tmpPath = NSTemporaryDirectory();
    
    NSLog(@"tmpPath:%@",tmpPath);
    
    //5. 打印xx.app位置
    
    NSLog(@".appPath:%@",[[NSBundle mainBundle] bundlePath]);//打印app安装包的在模拟器/手机上的位置(~users/Application文件夹下)

    真机打印结果:

    homePath: /var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A docPath: /var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A/Documents libPath: /var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A/Library preferPath: /var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A/Library/Preferences cachePath: /var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A/Library/Caches tmpPath: /private/var/mobile/Containers/Data/Application/849F64A3-BE4A-44FE-A789-6790A77E567A/tmp/ .appPath: /private/var/mobile/Containers/Bundle/Application/429B6769-6D90-4782-844C-CA95E8B28166/打印程序的沙盒地址2015.10.app

    5.沙盒路径截图: 762733-20160214152749435-746399304.png 762733-20160214152902091-823070606.png

    展开全文
  •  iOS APP可以在自己的沙盒里读写文件,但是,不可以访问其他APP的沙盒。每一个APP都是一个信息孤岛,相互是不可以进行通信的,唯独可以通过URL Scheme。沙盒里面的文件可以是照片、声音文件、文本、属性列表等。 ...

           iOS APP可以在自己的沙盒里读写文件,但是,不可以访问其他APP的沙盒。每一个APP都是一个信息孤岛,相互是不可以进行通信的,唯独可以通过URL Scheme。沙盒里面的文件可以是照片、声音文件、文本、属性列表等。

     

    沙盒简述:

    每一个APP都有一个存储空间,就是沙盒。

    APP之间不能相互通信。

    沙盒根目录结构:Documents、Library、temp。

     

    简述一下Documents、Library、temp的区别:

    Documents:用于存储用户数据,iTunes备份和恢复的时候会包括此目录,所以,苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下。

     

    Library:包含两个子目录:Caches 和 Preferences。Caches用来存放用户需要换成的文件。Preferences是APP的偏好设置,可以通过NSUserDefaults来读取和设置。

     

    tmp: 用于存放临时文件,这个可以放一些当APP退出后不再需要的文件。

     

     打开模拟器沙盒方法 

    方法一:前往文件夹打开

     

    /Users/自定义/Library/Application Support/iPhone Simulator/ 

    直接在Finder->前往->前往文件夹,输入上面的内容即可。记住将  《自定义》  换成你的电脑用户名。

     

    模拟器上的APP的沙盒实在用户目录下的资源库里面,但是资源库是隐藏文件夹。所以查看沙盒之前,现将隐藏文件夹显示出来。显示隐藏文件的命令:

     

    defaults write com.apple.finder AppleShowAllFiles -bool true

     

    当然,下面就是隐藏隐藏文件的命令:

     

    defaults write com.apple.finder AppleShowAllFiles -bool false

     

     

     

     

     

     

     

    展开全文
  • 沙盒机制解释

    千次阅读 2014-02-19 10:02:59
    沙盒机制:也就是说,应用程序位于文件系统的严格限制部分。你的程序不能直接访问其他应用程序。 究竟什么是“沙盒”技术呢?我这里以杀毒软件中的沙盒技术给大家解释一下,希望通过这个,大家能大概明白其中意思。...

    沙盒机制:也就是说,应用程序位于文件系统的严格限制部分。你的程序不能直接访问其他应用程序。

    究竟什么是“沙盒”技术呢?我这里以杀毒软件中的沙盒技术给大家解释一下,希望通过这个,大家能大概明白其中意思。与杀毒软件中主动防御技术原理截然不同。主动防御是发现程序有可疑行为时立即拦截并终止运行。“沙盒”技术则是发现可疑行为后让程序继续运行,当发现的确是病毒时才会终止。“沙盒”技术的实践运用流程是:让疑似病毒文件的可疑行为在虚拟的“沙盒”里充分表演,“沙盒”会记下它的每一个动作;当疑似病毒充分暴露了其病毒属性后,“沙盒”就会执行“回滚”机制:将病毒的痕迹和动作抹去,恢复系统到正常状态。如果您还不懂,那说的再简单一些。想象一下,在一个装满了平整细沙的盒子里,我们可以尽情随意地在上面作画、涂写,无论画的好坏,最后轻轻一抹,沙盒又回到了原来的平整状态。沙盒的魅力就在于他允许你出错,还可以给你改正的机会。这种技术也称之为“沙箱技术”。

    展开全文
  • 沙盒机制

    2016-04-27 21:47:40
    需要在建的属性里签编码与反编码的协议 @interface Student : NSObjectNSCoding> 之后建所需要的属性 @property(nonatomic, copy)NSString *name; @property(nonatomic, ...#pragma mark 进
  • iOS 沙盒机制的理解和使用

    千次阅读 2016-09-28 09:45:41
    每个iOS应用都被限制在“沙盒”中,沙盒相当于一个加了仅主人可见权限的文件夹,及时在应用程序安装过程中,系统为每个单独的应用程序生成它的主目录和一些关键的子目录。苹果对沙盒有几条限制: 1. 应用程序在自己...
  • java中的安全模型(沙箱机制)

    万次阅读 多人点赞 2018-10-24 11:31:55
    参考: https://www.cnblogs.com/MyStringIsNotNull/p/8268351.html https://www.ibm.com/developerworks/cn/java/j-lo-javasecurity/ ...
  • iOS学习之iOS沙盒(sandbox)机制和文件操作(一)

    万次阅读 多人点赞 2012-10-31 10:07:21
    1、iOS沙盒机制 iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。...
  • 在网络上搜寻到一篇通过Xcode查看真机沙盒文件的方式->在iOS开发之沙盒机制(SandBox),我们了解到如何查看模拟器的沙盒内容。直接在Finder->前往->前往文件夹里输入:/Users/ligang/Library/Application Support/...
  • 1.什么是沙盒(Sandbox)环境? 2.将Windows Defender 以沙盒模式运行 提升系统安全的原理是什么? 众所周知,杀毒软件通常需要很高的权限,才能彻底查杀病毒保护系统。 但是!!万一碰到异常强大的病毒,反而...
  • Win10开启沙盒功能和使用方法

    千次阅读 2020-03-18 09:28:45
    在计算机安全领域,沙盒(英语:sandbox,又译为沙箱)是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。 沙盒通常严格控制其中的程序所能...
  • MAC OSX 沙盒机制

    万次阅读 2016-01-28 18:54:57
    OSX 沙盒机制 OSX自从10.6系统开始引入沙盒机制,规定发布到Mac AppStore的应用,必须遵守沙盒约定。沙盒对应用访问的系统资源,硬件外设,文件,网络,XPC,都做了严格的限制,这样能防止恶意的App通过系统漏洞,攻击系统...
  • 查看真机沙盒教程 打开Devices 找到目标APP 浏览沙盒目录结构 双击iOSStrongDemo ...在iOS开发之沙盒机制(SandBox),我们了解到如何查看模拟器的沙盒内容。直接在Finder->前往->前往文件夹里输入: 
  • 影子系统、沙盒、虚拟机的区别

    千次阅读 2015-03-11 15:26:48
    今天学python的时候,安装了一个virtualenv工具,就是一个沙盒。在这里把这几个概念记录一下,备忘。 简单来说,在影子系统里面对系统所作的一切操作,重启后系统会恢复成原样。而进行的操作会丢失。 沙盘是给...
  • 录音文件存于_doc文件夹下,可以播放,但是提交的时候受限于ios的沙盒机制保护,无法访问,如何越过这个机制,或者存于一个不受限的文件夹
  • 沙盒技术漫谈

    千次阅读 2013-10-23 12:17:12
    不知道说法对不对,可以参考。 沙箱其实就是一个硬盘过滤文件驱动,具体来说,就是你把要写的东西写到了硬盘上,但实际上并没有写到硬盘,而是到了一个转存处,读取内容需要判断是沙箱开启之前就存在的内容还是开...
  • iOS应用都被限制在“沙盒”中,“沙盒”相当于一个加了仅主人可见权限的文件夹,苹果对沙盒有以下几条限制。 应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙盒。 应用程序间不能共享数据,...
  • 如何查看真机的沙盒(图文教程)

    千次阅读 2015-09-24 16:02:07
    在iOS开发之沙盒机制(SandBox),我们了解到如何查看模拟器的沙盒内容。直接在Finder->前往->前往文件夹里输入:  /Users/ligang/Library/Application Support/iPhone Simulator/ 这样就可以查看模拟器的沙盒...
  • iOS 沙盒路径/创建文件夹

    千次阅读 2016-12-16 14:44:26
    iOS 应用目录简介iOS的沙盒机制,应用只能访问自己应用目录下的文件。iOS不像android,没有SD卡概念,不能直接访问图像、视频等内容。iOS应用产生的内容,如图像、文件、缓存内容等都必须存储在自己的沙盒内。默认...
  • 一、 每个iOS应用SDK都被限制在“沙盒”中,“沙盒”相当于一个加了仅主人可见权限的文件夹,苹果对沙盒有以下几条限制。  (1)、应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙盒。 ...
1 2 3 4 5 ... 20
收藏数 11,070
精华内容 4,428
关键字:

沙盒机制