微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

原文地址:https://www.jb51.cc/js/152612.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐