如何仅通过iframe访问网站

时间:2018-12-17 16:11:23

标签: php wordpress .htaccess iframe

有人可以帮助我吗?我有以下网站:domain.com,domain.com / site2,domain.com / site3和site4.domain.com。站点1,2和3是wordpress,站点4是php网站。在网站1(domain.com)中,我创建了一个侧面板,我的目标是当用户访问我的所有网站时,他们仍然可以使用我的侧面板,因此我使用高级iframe在页面1上嵌入/ iframe网站2、3和4亲如何使站点2、3和4只能打开或访问站点1?例如,我将iframe /网站2嵌入domain.com/mypage中,以便当用户打开domain.com/mypage时,网站2将通过iframe打开。但是,当用户从domain.com/site2直接访问时,他们将重定向到site1(domain.com/mypage)或仅看到空白页面。 我试图按如下方式修改.htaccess:

{

order deny,allow
deny from all
allow from domain.com/site2/12345

}

和在iframe中:[iframe src="domain.com/site2/12345"]

,但不起作用。当我使用url domain.com/site2直接访问时,它在site1上显示404,而当我直接访问domain.com/site2/12345时,它可以打开site2,但是在iframe中,它显示404 site1 ...(不使用https:/ /使用https://时会显示404 site1,但仅使用www.domain.com/site2/12345时可以打开site2)

1 个答案:

答案 0 :(得分:0)

我想我知道您正在尝试做的事情,在这种情况下,我认为这可以工作,但我尚未对其进行测试(适用于您认为合适的其他iframe和域)。

站点2/3 / 4.com

if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == 'http://domain1.com') {
    include_once('sidebar.php');
} else {
    header('Location: http://domain1.com');
}

site1.com

<iframe src="http://domain2.com" frameborder="0"></iframe>

我的要求可能有误,但是如果有引荐来源网址,这应该显示您的侧边栏内容,否则,它将重定向到domain1.com。

一种更可靠的方法(如果由于某些原因未填充引荐来源网址)可能是在iframe src属性中添加url参数,例如

<iframe src="http://domain2.com?iframe=1" frameborder="0"></iframe>

然后检查

if (isset($_GET['iframe']) && $_GET['iframe'] == '1') {
    include_once('sidebar.php');
} else {
    header('Location: http://domain1.com');
}

但这也很容易操作,一种更好的方法可能是提出使用令牌/哈希代替。