使网页不可嵌入
Make webpage not embeddable
我正在开发一个 PHP 网站,其中一些由用户生成的网页不得嵌入其他域的 iframe 中,这一点至关重要,除非我愿意。
有没有办法做到这一点?我注意到,即 Vimeo 为高级用户提供了一个可以嵌入视频的域列表,所以我想这在某些方面是可能的,尽管我还没有找到任何东西......
谢谢!
您可以在不允许 as/in iframe 的页面上包含 javascript-code,这会重定向 top-frame,并且 iframe 在大多数情况下变得无用。
if ( window.self !== window.top ) {
window.top.location.href = window.location.href;
}
大多数现代浏览器也尊重 header-field X-FRAME-OPTIONS
可以设置为 DENY
(页面未在框架内显示)或 SAMEORIGIN
(与 DENY 相同,但前提是域不同)。
看看referrer。
if (!in_array($_SERVER['HTTP_REFERER'], $allowedReferers)) {
// STOP !!!!
echo "not today baby!";
die();
}
// GO !!!!
我正在开发一个 PHP 网站,其中一些由用户生成的网页不得嵌入其他域的 iframe 中,这一点至关重要,除非我愿意。
有没有办法做到这一点?我注意到,即 Vimeo 为高级用户提供了一个可以嵌入视频的域列表,所以我想这在某些方面是可能的,尽管我还没有找到任何东西......
谢谢!
您可以在不允许 as/in iframe 的页面上包含 javascript-code,这会重定向 top-frame,并且 iframe 在大多数情况下变得无用。
if ( window.self !== window.top ) {
window.top.location.href = window.location.href;
}
大多数现代浏览器也尊重 header-field X-FRAME-OPTIONS
可以设置为 DENY
(页面未在框架内显示)或 SAMEORIGIN
(与 DENY 相同,但前提是域不同)。
看看referrer。
if (!in_array($_SERVER['HTTP_REFERER'], $allowedReferers)) {
// STOP !!!!
echo "not today baby!";
die();
}
// GO !!!!