谁能帮帮我吗?我有这些网站:domain.com、domain.com/site2、domain.com/site3 和 site4.domain.com。站点 1,2 和 3 是 wordpress,站点 4 是 php 网站。在站点 1(domain.com) 中,我创建了一个侧面板,我的目标是当用户访问我的所有站点时,他们仍然可以使用我的侧面板,因此我使用高级 iframe 在页面站点 1 上嵌入/iframe site2,3 和 4亲。如何使站点 2,3 和 4 只能从站点 1 打开或访问?例如,我在 domain.com/mypage 中 iframe/embed 站点 2,这样当用户打开 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 站点 1 但仅使用 www.domain.com/site2/12345 时它可以打开站点 2)
最佳答案
我想我知道您要做什么,在这种情况下,我认为这会起作用,但我尚未对其进行测试(根据您的需要申请其他 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');
}
但这也很容易操纵,更好的方法可能是想出一个 token /哈希来代替。
关于php - 如何网站只能从 iframe 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53818982/