标签: sandbox

在"沙箱环境"中从.Net应用程序加载程序集

目前正在开发一个应用程序,用户将动态选择dll,应用程序将执行该dll中的一些方法.(如果您按照第一个链接,您将看到我正在使用.Net Framework 开发一种Robocode游戏应用程序).

例如,当战斗开始时,run执行来自dll 的方法.

由于将执行run方法中指定的任何内容,因此必须应用相当多的安全约束.

例如,如果编程dll的用户,而不是仅使用适用于接口的方法(机器人用于行走和触发的方法等等),则调用将检索文件甚至删除的方法来自硬盘的文件...当另一个用户将该dll加载到他的计算机中时,这些方法将在他的电脑上调用,他的文件将被这个恶意代码修改.

因此,我需要以某种方式使这个应用程序从一种沙盒环境运行,以便无论调用什么方法,它都不会影响打开dll的计算机的硬盘.

关于如何开始这样做的任何想法?

这是一个关于如何加载这些dll并调用其方法的示例:

for (int i = 0; i < robotList.Count; i++)
{
    IRunnable o = robotList[i];
    new Thread(delegate()
    {
        o.run();    
    }).Start();
}
Run Code Online (Sandbox Code Playgroud)

.net assemblies sandbox

2
推荐指数
1
解决办法
4714
查看次数

将文件从iPhone沙箱复制到桌面?

我正在为uni开发一个iPhone应用程序,我们在iPhone的沙箱目录中创建一个sqlite数据库文件.

我们的应用程序内部写入此文件,我想知道如何将此文件恢复到我的桌面.我真的不介意怎么做,任何方式都没关系.也许有可能甚至做一些事情,比如从应用程序发送电子邮件(如果可能的话).只是一个建议,如果有人知道一种方式.

提前致谢.

iphone cocoa-touch sandbox objective-c

2
推荐指数
1
解决办法
4544
查看次数

在iPhone沙箱中查找文件

在我的应用程序开始时,用户记录他们的声音,然后在沙箱中将其保存为"recorded.wav".我以后如何创建一个表明它位置的字符串?我想要的东西看起来像:

/var/folders/u6/u6pKbm2MFriwajkdt-OQME+++TI/-Tmp-/recorded.wav
Run Code Online (Sandbox Code Playgroud)

谢谢,

请记住,这是针对iPhone设备和模拟器.

iphone cocoa-touch sandbox objective-c

2
推荐指数
1
解决办法
2961
查看次数

如何在 Lion 的沙盒应用程序中发送分布式通知?

我无法在我尝试在 Lion 中沙箱的应用程序中发送分布式通知。正在获取…

deny distributed-notification-post
Run Code Online (Sandbox Code Playgroud)

...在控制台的system.log. 是否有任何权利可以添加以允许通知。

是否可以这样做,如果可以,如何做?

macos sandbox osx-lion appstore-sandbox

2
推荐指数
1
解决办法
1195
查看次数

我可以禁止某些功能崩溃程序吗?

我希望制作交互式代码学习系统,它允许用户(通常是年轻程序员)用c ++语言编写一个函数的内容,将其发送到服务器,然后将其编译成动态库并从主程序调用.

程序期望函数根据给定的参数返回正确的答案.

当然,会有一些孩子,会导致分段错误等错误.(服务器是Linux驱动的).

那么,我可以创建退出函数的信号处理程序吗?

我想要完成的事情:

for (int i = 0; i < PLAYER_NUM; i++) {
    snprintf(buf, sizeof(buf), "players/%s.so", player[i]);
    handle = dlopen(buf, RTLD_LAZY);
    add[i] = (int (*)(int, int))dlsym(handle, "sum");
} // that was simply loading of functions from libraries.

for (int x = 0; x < 10; x++)
    for (int i = 0; i < PLAYER_NUM; i++) {
        if(failed[i]) continue;
        ret = add[i](x, 5);

    if(sigfault_received() || res != (x + 5)) {
        failed[i] = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

c c++ sandbox segmentation-fault dynamic-library

2
推荐指数
1
解决办法
149
查看次数

如何在Symfony2中正确启用twig的沙箱扩展?

在Symfony2中,默认情况下禁用了一些Twig模块.其中一个是调试扩展,它添加了{% debug %}标记(在开发环境中很有用).

要启用它,没有什么困难,您可以将此服务添加到您的配置中:

  debug.twig.extension:
    class: Twig_Extensions_Extension_Debug
    tags:
      - { name: 'twig.extension' }
Run Code Online (Sandbox Code Playgroud)

但是如何启用{% sandbox %}标签?

我的问题是扩展的构造函数采用安全策略:

public function __construct(Twig_Sandbox_SecurityPolicyInterface $policy, $sandboxed = false)
{
    $this->policy            = $policy;
    $this->sandboxedGlobally = $sandboxed;
}
Run Code Online (Sandbox Code Playgroud)

通过阅读twig文档,我看到了本机的方式(没有Symfony2):

$tags = array('if');
$filters = array('upper');
$methods = array(
    'Article' => array('getTitle', 'getBody'),
);
$properties = array(
    'Article' => array('title', 'body'),
);
$functions = array('range');
$policy = new Twig_Sandbox_SecurityPolicy($tags, $filters, $methods, $properties, $functions);
$sandbox = new Twig_Extension_Sandbox($policy);
$twig->addExtension($sandbox);
Run Code Online (Sandbox Code Playgroud)

在使用沙盒之前,我可以在服务中做类似的事情,但这并不像我们习惯的依赖注入那么清晰.

是否有更好/正确的方法在Symfony2中启用twig的沙箱扩展?

php sandbox symfony twig

2
推荐指数
1
解决办法
1940
查看次数

在沙箱中重新启动后访问同一文件

我的应用程序在下面读取iTunes的XML库文件

/Users/username/Music/iTunes/iTunes Music Library.xml
Run Code Online (Sandbox Code Playgroud)

但是,如果iTunes资料库存储在不同的硬盘上,则此文件也将存储.沙箱不允许我访问此文件,除非用户授予它.

这是使用a完成的NSOpenPanel.

但是,现在我必须要求用户每次打开应用程序时都有权访问此文件,这非常烦人.

有没有办法永久授予对特定文件的访问权限?

编辑

例如,如果您在另一个应用程序中打开一个文件,如果您退出该应用程序,该应用程序将再次打开相同的文件.像这样的东西会很有用.

macos cocoa sandbox objective-c

2
推荐指数
1
解决办法
248
查看次数

pypy沙箱无法导入时间,导入网站失败

我运行rpython翻译来创建一个pypy沙箱.

~/pypy-2.3.1-linux64/bin/pypy ../../rpython/bin/rpython -O2 --sandbox targetpypystandalone
Run Code Online (Sandbox Code Playgroud)

有一些警告,其中两个似乎涉及时间.

[sandbox:WARNING] Not Implemented: sandboxing for external function 'clock_gettime'
[sandbox:WARNING] Not Implemented: sandboxing for external function 'clock_getres'
Run Code Online (Sandbox Code Playgroud)

它的长短是在翻译完成时,运行沙箱时会出现以下输出:

'import site' failed
Python 2.7.6 (32f35069a16d819b58c1b6efb17c44e3e53397b2, Jun 11 2014, 19:06:04)
[PyPy 2.3.1 with GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>> 
Run Code Online (Sandbox Code Playgroud)

然后导入时间也失败了:

>>>> import time
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named time
>>>> 
Run Code Online (Sandbox Code Playgroud)

这是沙箱的预期行为吗?如果是这样,在沙盒流程中嵌入网站包等的正确做法是什么?我希望使用pip安装在那个环境中,但沙盒似乎让它变得非常困难.(当我尝试安装distribute.py时,基本上我反对导入时间,因为它需要datetime,这需要时间)

python pypy sandbox

2
推荐指数
1
解决办法
782
查看次数

目前,印度的PayPal账户只能发送付款.此收件人没有资格获得资金

我正在尝试从沙盒买家帐户沙盒商业 帐户付款. 我收到了错误

目前,印度的PayPal账户只能发送付款.此收件人没有资格获得资金.

这是我的html表单:

<form name="_xclick" action="https://www.sandbox.paypal.com/cgi-bin /webscr" method="post">    
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="vpratap-facilitator@grepruby.com">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="quantity" value= "5">
<input type="hidden" name="amount" value="1">
<input type="hidden" name="shipping" value="0" />
<input type="image" src="http://www.paypal.com/en_GB/i/btn/x-click-but01.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and
       secure!"> 
  </form>  
Run Code Online (Sandbox Code Playgroud)

php codeigniter paypal sandbox

2
推荐指数
1
解决办法
2772
查看次数

带有助手应用程序的沙盒应用程序

我正在尝试从沙盒应用程序执行助手应用程序,但它抛出错误 errAuthorizationDenied (-60005),我使用 Apple SMJobBless作为示例。目前我有这个

var authItem: AuthorizationItem = AuthorizationItem(name: kAuthorizationRightExecute, valueLength: 0, value: nil, flags: 0)
var authRights: AuthorizationRights = AuthorizationRights(count: 1, items: &authItem)
let authFlags: AuthorizationFlags = AuthorizationFlags.ExtendRights
var result = false
var authRef: AuthorizationRef = nil

let status: OSStatus = AuthorizationCreate(&authRights, nil, authFlags, &authRef)
if status == errAuthorizationSuccess {
    result = SMJobBless(kSMDomainSystemLaunchd, "**helperBundleIdentifier**", authRef, nil)
}
Run Code Online (Sandbox Code Playgroud)

我做错了什么,还是在沙箱中不可能?

macos sandbox swift smjobbless

2
推荐指数
1
解决办法
441
查看次数