【发布时间】:2018-05-15 22:02:53
【问题描述】:
使用 Codeigniter
所以我有一个页面,我使用 iFrame 在父页面中调用它。现在我想禁用访问 URL,如果它在 iFrame 之外使用,即在浏览器的 URL 栏中
对此有什么想法吗?
【问题讨论】:
-
我知道你不能这样检查
标签: codeigniter iframe url-rewriting url-routing
使用 Codeigniter
所以我有一个页面,我使用 iFrame 在父页面中调用它。现在我想禁用访问 URL,如果它在 iFrame 之外使用,即在浏览器的 URL 栏中
对此有什么想法吗?
【问题讨论】:
标签: codeigniter iframe url-rewriting url-routing
确实没有万无一失的方法可以做到这一点,因为 iframe 并不是什么特别的东西,只是网页中的网页。您可以尝试添加一种通过 get 请求的密钥类型,但这需要将其硬编码到页面中,并且任何人都可以访问它并查看 iframe 之外的内容(如果他们愿意)。如果这对您来说无关紧要,那么这样的事情就足够了:
网址:
somecontroller/iframe?view=y
public function iframe() {
if ($this->input->get('view') !== 'y') {
exit('No direct script access allowed');
}
}
我建议通过 ajax 获取内容并使用滚动条填充 div(以模仿 iframe)。通过这种方式,您可以检查该项目是否是使用 ajax(“in iframe”)请求的,如果不是,则不提供它。
if (!$this->input->is_ajax_request()) {
exit('No direct script access allowed');
}
【讨论】: