如何在OpenCPU中隐藏库代码

时间:2018-08-21 10:17:55

标签: r apache http opencpu

如果使用的是OpenCPU,您会发现任何人都可以访问您的/ocpu/library/[your_library]/R/目录并查看后端应用程序的所有源代码。您如何防止这种情况发生?

1 个答案:

答案 0 :(得分:3)

如果您使用的是Apache,则可以编写一条规则来阻止任何HTTP请求,但要阻止POST到/ocpu/library/[your_library]/R/地址。修改/etc/apache2/sites-available/opencpu.conf文件很容易做到。您只需要在<IfModule mod_R.c>块内添加以下行:

<Location /ocpu/library/[your_library]/R>
    SetHandler r-handler
    RHandler opencpu:::rapachehandler
    Require method POST
    SetOutputFilter DEFLATE
    SetInputFilter DEFLATE
</Location>

P.D。请注意,将您的实际库名称更改为[your_library]

仅允许POST请求到该地址的事实意味着您将能够执行该代码,但无法获取该代码。如果要隐藏/info文件以使任何人都看不到您的文档,则可以复制以前的代码,将路由更改为/ocpu/library/[your_library]/info。您可以对要隐藏的任何路径执行相同的操作。但是,请注意,此技巧不适用于/data中存储的任何内容,因为您必须通过GET访问它。

如果您有任何问题,我想发表评论。