【问题标题】:How to hide your library code in OpenCPU如何在 OpenCPU 中隐藏你的库代码
【发布时间】:2019-01-27 12:18:12
【问题描述】:

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

【问题讨论】:

    标签: r apache http opencpu


    【解决方案1】:

    如果您使用的是 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>
    

    注意将[your_library] 更改为您的实际库名称。

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

    如果您对您认为可能存在的任何问题发表评论。

    【讨论】:

      猜你喜欢
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 2012-06-25
      相关资源
      最近更新 更多