0

我如何防止访问带有 htacces 的文件夹中的所有 php 文件,但是当我希望通过 iframe 访问时可以正常工作?

我不希望用户通过 url 访问,因为这将是一个安全错误..

有什么答案吗?

4

2 回答 2

4

通过 iframe 访问页面与通过 url 访问页面相同。如果您以这种方式使页面无法访问,则 iframe 也将无法加载它。

于 2012-06-13T11:31:15.623 回答
1

这是不可能的。你无法拥有你想要的。您可以将 iframe 视为浏览器中的浏览器。iframe 向您的服务器发出独立的新 GET 请求以获取内容的 URL,但没有任何迹象表明它正在 iframe 中使用。

但是,一旦页面已交付给客户端,您可以让页面运行一些 javascript 来检查它是否是 iframe,如果不是,则删除它自己的内容。

if (top === self) {
  // not in an iframe. delete all the content
  document.body.innerHTML = 'Not allowed';
}

您可以将其反转以提供不可见的内容,但如果有 javascript 使内容可见top != self

现在,当然,这只会影响内容对用户的可见性。它仍在交付中,高级用户仍然可以与之交互。这只是一点视觉技巧 - 安全性为零。

于 2012-06-13T13:36:25.463 回答