我在我的网站中嵌入了一个带有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。
答案 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密码。
最后,我们将它与参数中给出的密码进行比较。如果它是相同的,我们打开图表,读取数据......否则,我们只是停止这个过程。