php - 如何网站只能从 iframe 访问

标签 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 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/

相关文章:

php - 如何使用 php 从本地 wamp 服务器连接在线 mysql 数据库服务器?

php - 带图像上传的 WordPress 2.9 主题选项管理页面

html - Chrome 报告 html5 缓存 list mime 类型不正确

.htaccess - 共享主机上的 symfony2

php - session 如何工作?

php - Doctrine - 只需一次保存即可插入多行()

javascript - 将查询结果的值传递给Modal

php - 仪表板和管理面板中的 WordPress 自定义分类术语自定义顺序

html - div 未显示在网页上?

php - 禁止下载 PHP 文件