首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是沙箱?

什么是沙箱?
EN

Stack Overflow用户
提问于 2010-01-24 14:26:25
回答 6查看 80.3K关注 0票数 126

我读过,但我不太确定它是什么意思,也不知道它与版本控制有多相似。

如果有人能用非常简单的术语解释一下沙箱是什么,那将是很有帮助的。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-01-24 14:51:26

A sandpit or sandbox是一个低矮、宽阔的容器或浅凹陷,里面装满了沙子,孩子们可以在里面玩耍。许多有孩子的房主在他们的后院建沙坑,因为与许多游乐场设备不同,沙坑可以很容易和便宜地建造。“沙坑”也可以指露天砂矿。

好吧,一个软件沙箱和一个供孩子玩的沙箱没什么不同。通过向孩子提供沙箱,我们模拟了真实游乐场的环境(换句话说,是一个isolated environment),但对孩子可以做的事情有限制。因为我们不想让孩子被感染,或者我们不想让他给别人带来麻烦。:)不管是什么原因,我们只是想限制孩子可以为Security Reasons做什么。

现在到了我们的软件沙箱,我们让任何软件(子)执行(玩),但对它(他)能做什么有一些限制。关于执行软件可以做什么,我们可以感觉到是安全的&安全的

您已经看过并使用过杀毒软件。对吗?它也是一种沙盒。它对任何程序都能做的事情进行了限制。当检测到恶意活动时,它会停止并通知用户“此应用程序正在尝试访问so & so资源。是否要允许?”

下载一个名为sandboxie的程序,您可以亲身体验沙箱。使用此程序,您可以在受控环境中运行任何程序。

红色箭头表示从正在运行的程序流向您的计算机的更改。标记为Hard disk (no sandbox)的框显示正常运行的程序的更改。标记为Hard disk (with sandbox)的框显示在Sandboxie下运行的程序所做的更改。该动画演示了Sandboxie能够拦截更改并将其隔离在一个沙箱中,该沙箱被描述为一个黄色矩形。它还说明了将更改组合在一起可以轻松地一次删除所有更改。

现在,从程序员的角度来看,沙箱限制了允许应用程序使用的API。在防病毒示例中,我们限制了系统调用(操作系统API)。

另一个例子是像topcoder这样的在线编码领域。您提交了一个代码(程序),但它在服务器上运行。对于服务器的safety,应该限制程序的API的访问级别。换句话说,他们需要创建一个沙箱并在其中运行您的程序。

如果你有一个合适的sandox,你甚至可以运行一个被病毒感染的文件,阻止病毒的所有恶意活动,并亲自查看它试图做什么。事实上,这将是反病毒研究人员的第一步。

票数 277
EN

Stack Overflow用户

发布于 2010-01-24 14:31:24

沙箱的定义基本上意味着拥有测试环境(开发人员集成、质量保证、阶段等)。这些测试环境模拟生产,但它们不共享任何生产资源。它们具有完全独立的服务器、队列、数据库和其他资源。

更常见的是,我见过沙箱指的是类似于虚拟机的东西--隔离机器上的一些正在运行的代码,以便它不会影响基本系统。

票数 32
EN

Stack Overflow用户

发布于 2010-01-24 14:41:26

举个具体的例子:假设你有一个处理转账的应用程序。在生产环境中,交换的是真正的货币。在沙箱环境中,一切运行完全相同,但金钱是虚拟的。这是为了测试目的。

例如,Paypal就提供了这样一个沙盒环境。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2126174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档