有一个网络应用程序。它只能在特定的iframe(公司网站)中使用,因此不请自来的访客通过脚本重定向到客户网站。 下面的代码工作正常,但java可以在浏览器中禁用。 IP白名单是一个很好的解决方案,但使用的动态IP太多了。
可以使用什么php技巧来检查在iframe中打开的网站?
<script>
if (top === self) window.location.replace('http://uninvited-guests-go.here');
</script>
<?php header('X-Frame-Options: ALLOW-FROM https://iframe.allow.only'); ?>
答案 0 :(得分:0)
PHP无法知道浏览器中发生了什么,但正如您所指出的,javascript可以可靠地确定iframe的存在
window.top === window.self;
如果您使用的是纯PHP解决方案,则可以在URL中发送GET
参数,告诉PHP邀请哪些访客,哪些不是。
<?php
// yousite.com <-- uninvited user
// yoursite.com?invited=1 <-- invited user
if (isset($_GET['invited']) && $_GET['invited'] === 1) {
// handle your invited guests here
}
您还需要将此GET
参数添加到您的iFrame源。