gpt4 book ai didi

javascript - 选择性帧爆破

转载 作者:可可西里 更新时间:2023-11-01 02:44:05 24 4
gpt4 key购买 nike

我想为我的 iframe 应用程序实现选择性 Framebursting。

我的 iframe 位于 www.mywebsite.con/iframe.aspx?lic=1234

当托管我的 iframe 的第三方网站是 (PayedWebsited1.conPayedWebsited2.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

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

X-Frame-Options: DENY

逻辑保持不变,只是在服务器端。检查 Referrer,如果是 PayedDomain 或您自己的域,请继续。否则,发送此 header 。

关于javascript - 选择性帧爆破,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10750639/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com