草庐IT

Ruby 沙盒与集成脚本语言

我目前正在使用Ruby开发基于文本的游戏引擎,应用程序分为/lib中的Ruby代码和/data中的YAML数据,游戏需要时加载。我想让数据文件包含基本脚本,主要是在事件/观察者模型中。但是,我也希望用户能够生成和共享自定义场景,而不必担心脚本中嵌入了恶意代码。附录:我最初的计划是将用户创建的内容分为两种类型,“模块”是仅数据(因此安全)和添加额外功能的插件(但显然是不安全)。类比桌面游戏,模块就像发布的冒险场景和内容,插件就像包含额外规则和系统的规则手册。示例脚本(语法当然会根据解决方案而改变):---Location:observers:on_door_open:|monster=s

ruby - 如何在安全的沙箱中运行不受信任的 Ruby 代码?

我希望能够运行不受信任的ruby​​代码。我希望能够将变量传递给它可能使用的所述不受信任的代码。我还希望上述代码将结果返回给我。这是我在想什么的概念性例子input="sweet"output=nilThread.start{$SAFE=4#...untrustedcodegoeshere,itusestheinputvariable(s)#tocalculatesomeresultthatitplacesintheoutputvariable}#parsetheoutputvariableasastring.澄清一下,我基本上是将不受信任的代码用作函数。我想要提供它的一些输入,然后允

javascript - 来自 Braintree 沙箱错误 : PAYPAL_SANDBOX_ACCOUNT_NOT_LINKED 的 PayPal 集成

当我尝试从Braintree测试我的PayPal集成时,我遇到了这个错误。这是我的客户端代码(实际上是从官网复制过来的,稍作修改):braintree.client.create({authorization:ClientToken},function(err,clientInstance){if(err){console.error(err);return;}//CreateaPayPalCheckoutcomponent.braintree.paypalCheckout.create({client:clientInstance},function(paypalCheckoutEr

javascript - Microsoft Teams Adal 静默身份验证失败(iframe 沙箱)

我们已经为MicrosoftTeams开发了一个自定义选项卡,并希望按照本文https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/authentication/auth-silent-aad中的描述使用Adal以静默方式对用户进行身份验证它在开发环境中工作正常,但在生产环境中失败!控制台显示以下错误消息:UnsafeJavaScriptattempttoinitiatenavigationforframewithorigin'https://teams.microsoft.com'fromframewith

javascript - 子域上的 iframe 是否提供足够的 JS 沙箱?

假设我在example.com上有一个页面。此页面包含一个显示sandbox.example.com的iframe。---------------------------|example.com||-----------------------|||sandbox.example.com||||(+js)|||-----------------------|---------------------------沙盒将执行可能具有潜在危险的脚本。沙箱将混合我自己的JavaScript,与来自其他来源的不受信任的JavaScript代码一起运行。我会将我的应用程序路由公开到sandbox.

javascript - 动态沙箱内联 JavaScript 的最佳方法是什么?

我有一个WordPress插件,它使用AJAX加载页面并确保与其他插件和“小部件”的兼容性。截至目前,我使用以下代码评估要更新的内容block内的所有内联JS:functiondo_JS(e){varReg='(?:)((\n|.)*?)(?:)';varmatch=newRegExp(Reg,'img');varscripts=e.innerHTML.match(match);vardoc=document.write;document.write=function(p){e.innerHTML=e.innerHTML.replace(scripts[s],p)};if(script

Javascript 沙箱

我想让开发人员用Javascript为网站编写一些自定义应用程序,但我想将其沙盒化,这样他们就不能做任何调皮的事情,比如重定向用户、将正文显示设置为无等等。我有一个命名空间Javascript,其中存在他们需要的所有功能,所以我想创建一个沙箱是一个问题:with(Namespace){//AppcodegoesherewheretheycanonlyaccessNamespace.*}解决这个问题有多容易?还有哪些其他方法可以完成?宁愿不必审核每个提交的应用程序。 最佳答案 那么,目前沙盒代码的选项是:GoogleCajaProje

javascript - 如何锁定(或沙箱)JDK 的内置 Javascript 解释器以运行不受信任的脚本

我们有一个Java应用程序,想使用内置的Javascript解释器(javax.script.*)运行不受信任的代码然而,默认情况下,解释器允许访问任何java类。例如,脚本中的“java.lang.System.exit(0)”将关闭JVM。我相信这叫做“LiveConnect”,有关详细信息,请参阅Sun的“JavaScriptingProgrammer'sGuide”。我想以某种方式关闭脚本访问Java类的能力,即我只希望脚本能够访问我使用eval()或ScriptEngine上的put()方法。我找到了一些关于如何使用旧的独立版本的解释器(Rhino)实现此目的的文档,例如参见

Javascript 自包含沙箱事件和客户端堆栈

我正在将JSF繁重的Web应用程序迁移到REST且主要是JS模块应用程序。我在YUItheater上看过NicholasZakas的“可扩展的javascript应用程序架构”(非常棒的视频),我成功地实现了大部分演讲,但我有一些问题:关于模块和沙箱之间的关系,我发现讲座有点困惑,一方面,根据我的理解,模块不应该受到沙箱之外发生的事情的影响,这就是它们发布事件的原因通过沙箱(而不是通过核心,因为核心用于隐藏基础库)但是应用程序中的每个模块都有一个新的沙箱?沙箱不应该将事件限制到使用它的模块,还是应该跨页面发布事件?例如:如果我有两个可编辑的表,但我想将每个表包含在不同的沙箱中,并且它的

javascript - 与 Firebase 身份验证 react

我正在尝试设置Reactwithfirebase身份验证。注册页面有问题。当我注释掉注册页面时,我的本地页面呈现没有任何问题。当我取消注释此页面时,我收到一条错误消息:npm.js:341UncaughtTypeError:Cannotreadproperty'app'ofundefinedatnewhm(npm.js:341)atObject.(RegisterPage.js:12)at__webpack_require__(bootstrap5a6a0f74168ebcba0a5a:19)atObject.defineProperty.value(AppRouter.js:10)a