问题标签 [opencpu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
73 浏览

xss - 使用 OpenCPU 和 knitr 打印用户提供的数据时的 XSS 问题

我正在使用 openCPU 和 knitr 在调查后生成自定义反馈。为此,我基本上让调查开发人员指定 rmd 文件。在这个用例中,调查开发人员是受信任的,但调查人员可能不是。

我现在正在考虑 XSS。这不是一个大问题,因为用户反馈当然通常只会显示给输入显示数据的用户,但当然像“<”这样的字符将用于非恶意原因,我想提前考虑一下探索将 R 与 Web 应用程序自由混合的一些试验和磨难。

在我看来,Knitr 和 R 通常不是由不受信任的用户和 XSS 制作的。OpenCPU 纠正了将 AppArmored-R 作为 API 运行的许多安全问题,但我想知道像我这样的最大灵活性方法是否也可以得到证明。

可以区分可信和不可信标记的可能点:

  1. 在编织之前,即我将转义的用户数据传递给 rmd 文件。缺点:一个健忘的调查开发人员可能会意外地逃脱它,或者因为它在某些情况下很烦人。
  2. 在编织过程中。我想这将是理想的,但我不知道这是否可能,特别是如果调查开发人员可能会改变块设置。
  3. 编织后。我认为事后区分可信和不可信标记是不可能的。

一些代码粘贴到OpenCPU 的 knitr 应用程序中:

编辑 2

抱歉,我只提供了一些 HTML 标签,认为可能的 XSS 攻击很明显。Michel Fortin在他的页面上有一些例子

0 投票
1 回答
438 浏览

r - opencpu中的csv文件

如果我将一个非常小的 csv 文件放在我的 GitHub 目录中,以便将其复制到 /ocpu/github/username/projectname/www/ ,我是否能够访问 csv 的内容以在 R 函数中使用?我试图 ajax 文件,但我得到一个 404 错误,即使我可以看到位于我本地服务器的 www 目录中的 csv 文件。我需要将服务器上的 csv 作为静态文件而不是通过函数上传。谢谢

0 投票
1 回答
784 浏览

r - 内存限制opencpu / R

我对opencpu有一个奇怪的问题。我正在设置一个 Web 接口以使用 xcms(R 包),并且在使用 Web 接口读取 mzxml 文件时出现错误:无法分配大小为 207.2 Mb 的向量。这看起来像是来自 R 的错误,但是如果我在服务器上打开 R 并尝试自己打开文件,它可以工作并且 R 创建和对象为 435Mb。是否在某个地方设置了内存限制(apache、opencpu、R)?如果我使用 ulimit -a 最大内存大小设置为无限制。

干杯,里科

0 投票
1 回答
87 浏览

r - opencpu 返回最多 5 位数字

我注意到如果我返回我的 R 结果,数字被限制为 5 位,例如 100.34,而 R 给我 100.344523。有可能增加这个吗?我发现你可以在 toJSON 中设置数字的数量,但是如何用 opencpu 做到这一点?

干杯,里科

0 投票
1 回答
255 浏览

r - 是否有与浏览器()等效的opencpu?

是否可以使用 opencpu 在 R 代码中插入浏览器语句(或等效语句),并且当进行 ajax 或 plot 调用时,运行 opencpu 服务器实例的 R 会话(或 Rstudio 会话)将停止并允许调试?

0 投票
1 回答
326 浏览

r - 是否有一种机制可以将请求中的数据持久化/记录到 OpenCPU 服务器?

首先,我很感激有很多很好的理由不这样做,但出于兴趣,我的问题是:是否有推荐的(或允许的)方法将信息从 http 请求持久保存到运行服务器的 R 会话?

例如,外部系统中的触发器在更新时触发 http 请求,其中包含基本信息(更新时间)。使该(现已更新的)时间变量在 R 中可用的最佳方法是什么?

作为下面的示例,我尝试使用..\identityAPI 编写一个简单的 .csv 文件。我得到的结果似乎不是失败,但没有创建文件(我同意这是一件好事,默认情况下),但我想了解是否可以更新另一个状态服务器端(即除了 \tmp 对象存储之外的任何地方),即使(例如)必须使用和安装自定义包?

抱歉,如果它记录在某处,但是当我单击指向管理指南https://raw.github.com/jeroenooms/opencpu/opencpu-0.7/manual/document.pdf的链接时,我得到了 404

谢谢。

0 投票
1 回答
593 浏览

r - 在本地 OpenCPU 单用户服务器上显示 R 脚本失败

我使用 RStudio 设置了本地 OpenCPU 单用户服务器。我还创建了自己的 R 包(包名称:test),其中仅包含一个简单的 test.R 文件。源代码是

library(opencpu)我通过在 RStudio 的控制台中输入来启动 OpenCPU 服务器。我得到了以下打印。

我可以通过键入来运行脚本curl http://localhost:6067/ocpu/library/test/R/f1 -d "x=33&y=3"

但是当我尝试通过键入来显示 R 脚本(test.R)时curl http://localhost:6067/ocpu/library/test/R/test.R,它打印了

object 'test.R' not found

In call: get(reqobject, paste("package", reqpackage, sep = ":"), inherits = FALSE)

此外,当我通过键入运行 test.R 脚本时失败了curl http://localhost:6067/ocpu/library/test/R/test.R -X POST -d "x=3&y=4"。我可以这样运行脚本吗?

有人可以帮忙吗?谢谢。

0 投票
1 回答
731 浏览

r - OpenCPU cannot load Namespace 400 (Bad Request) Error in server mode

I've written a OpenCPU app package and have successfully tested it in single server mode. The server is setup and it can find the app no problem.

But it's erroring out on some of the ocpu calls with the following (from Chrome JS console):

Didn't get these errors in the single user server mode.

If I check on http://mydomain/ocpu/library/userengagementdashboard/NAMESPACE I get:

Is there a problem with my imports maybe?

UPDATE:

Solved this thanks to Jeroen's suggestion that I perhaps didn't have all the dependencies.

First I looked at the dependencies under http://mydomain/ocpu/library/ and installed any missing packages to the correct library location.

Then some of the imports and dependencies of these dependent packages had not been installed so I installed their dependencies as well. Problem solved!

0 投票
2 回答
5555 浏览

r - 构建可以从外部应用程序调用的 R 服务器 REST API 所需的建议?

我已经看过很多关于在 R 中从其他 RESTful API 服务消费数据的文章,但我真的很难找到任何关于相反的文章。我对 R 作为服务器而不是客户端感兴趣。我想要一个 Node.js 应用程序来调用 R 服务器的 RESTful API,这样我就可以利用特定的分析功能,例如多季节性预测。有人有想法么?

0 投票
1 回答
581 浏览

javascript - 使用 OpenCPU 显示 R 函数的 html 返回

我创建了一个 R 函数,它使用 rCharts 生成数据表。它看起来像这个例子: http ://rcharts.io/viewer/?7073104# .Uyi3oa15Peg R 函数返回带有return(td2). 这应该是一个 html 元素

然后我想创建一个 JavaScript 函数,它在 OpenCPU 上调用这个 R 函数并在 div 中显示返回的 HTML 元素。例如,以下代码用于显示另一个函数的返回图:

但是现在我必须显示一个 html 元素,但我在 OpenCPU 库中找不到可以执行此操作的函数。