如何在闪亮的应用程序中获得父 URL

How to get parent URL in a shiny-app

我在我的网站中嵌入了带有 iframe 的 Shiny 应用程序,现在我正在尝试保护我的 Shiny 应用程序:我希望 iframe 只能在我的网站中访问,而不是直接通过其 URL 访问。

  <iframe name="rshiny" 
    src="http://url-of-my-shiny-app/" style="border: none; width: 100%;height:800px;">
  </iframe>  

为此,我试图获取包含我的 Shiny-app 内的 iframe 的父级的 URL,并阻止它是否不是好的网站。

问题是:我找到了如何使用多种语言获取 URL 父级,但 R 语言除外。有人知道我该怎么做吗?

我有另一种可能的解决方案,暂时不起作用:

postForm('http://url.php', .params = params, curl = curl, style="POST")

我想我可以从我的网站向我的 R 应用程序发送一个 post 变量,就像一个密钥,只允许知道密钥的网站访问。 但是我做不到。

编辑:我认为这个问题与评论中建议的 link 不同。实际上,建议的选项似乎在 R Shiny 中不可用。

我找到了解决办法!

在这里,您可以找到一种在闪亮的应用程序中获取 "GET" 变量的方法。 https://github.com/brianbolt/rShinyApps/tree/master/getParameters.shiny。 在我的 PHP 代码中,我计算了一个 md5 密码,这取决于日期,让它每天更改,我将它用作我的 iframe 中的 GET 参数:

<iframe name="rshiny" 
    src="youradress?bins=<?php echo $md5password;?">
  </iframe>  

从那时起,我可以直接在我的代码中使用它(请参阅我共享的代码中的 input$n_breaks)。 我在 server.R 中创建了一个反应函数,它计算相同的 md5 密码。

最后,我们将其与参数中给出的密码进行比较。如果相同,我们打开绘图,读取数据...否则,我们就停止该过程。