如何在闪亮的应用

时间:2015-08-13 10:42:36

标签: r url iframe shiny parent

我在我的网站中嵌入了一个带有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应用程序,比如密钥,只允许访问知道密钥的网站。 但我不能让它发挥作用。

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

1 个答案:

答案 0 :(得分:1)

我找到了解决方案!

在这里,你可以找到一种方法来获得&#34; GET&#34;闪亮应用中的变量。 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密码。

最后,我们将它与参数中给出的密码进行比较。如果它是相同的,我们打开图表,读取数据......否则,我们只是停止这个过程。