javascript – 选择性的Framebursting

前端之家收集整理的这篇文章主要介绍了javascript – 选择性的Framebursting前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想为我的iframe应用程序实现选择性Framebursting.

我的iframe可以从www.mywebsite.con / iframe.aspx?lic = 1234获得

当托管我的iframe的第三方网站(PayedWebsited1.con或PayedWebsited2.con)并且lic = 1234选项也存在时,显示iframe.对于任何其他骗子,展示香蕉!

我该怎么做?

解决方法

事实是,该许可号不会以任何方式帮助 – 无论您是使用服务器端解决方案还是使用 javascript.骗子将可以在PayedWebsite1.com上看到许可证号码.

如上所述,您无法获取父框架位置,但如果您的页面加载在iframe中,则可以获取引用来源 – 它等于父框架.

if (window.top.location !== document.location) {  // only if we're in iframe
                           // we get host of our referrer
    var host = document.referrer.match(new RegExp("(http|https)://(.*?)/.*$"))[2];
    host = host.toLowerCase();  // convert to lower case
    var myHost = document.location.host.toLowerCase();
    if (
        host !== myHost                  // so we can click on links in an iframe
        && host !== 'payedwebsite1.com'
        && host !== 'payedwebsite2.com'
    ) {
        window.top.location.href = document.location.href;
    }
}

请注意,这种技术可以被打败. http://javascript.info/tutorial/clickjacking的更多信息

对于较新的浏览器,您可以发送特殊标题

X-Frame-Options: DENY

逻辑保持不变,只在服务器端.检查引荐来源,如果已付款域名或您自己的域名,请继续.否则,发送此标题.

猜你在找的JavaScript相关文章