gpt4 book ai didi

Javascript + 浏览器 - 如何检测开发工具/firebug 何时打开?

转载 作者:行者123 更新时间:2023-12-01 03:51:23 25 4
gpt4 key购买 nike

在你们中的任何人开始说这是不可能的之前,请导航到 facebook.com 打开开发工具,即使在非附加模式下,它会告诉您开发工具已打开,对吗?

那么 Facebook 是如何做到这一点的呢?

我可以为附加的窗口执行此操作

window.outerHeight - window.innerHeight > 200 || window.outerWidth - window.innerWidth > 200

但是当弹出窗口时,这不起作用。

Facebook 是如何做到这一点的?

最佳答案

如@ elpddev在评论中推测,他们只是使用 console.log在页面加载时记录它,他们没有检测到您已打开控制台。

如果您检查页面上的 JS 代码,您应该会发现以下内容:

var j = i.stop || h._("Stop!")
, k = i.text || h._("This is a browser feature intended for developers. If someone told you to copy-paste something here to enable a Facebook feature or \"hack\" someone's account, it is a scam and will give them access to your Facebook account.")
, l = i.more || h._("See {url} for more information.", [h.param('url', 'https://www.facebook.com/selfxss')]);
if ((window.chrome || window.safari) && !i.textonly) {
var m = 'font-family:helvetica; font-size:20px; ';
[[j, i.c1 || m + 'font-size:50px; font-weight:bold; ' + 'color:red; -webkit-text-stroke:1px black;'], [k, i.c2 || m], [l, i.c3 || m], ['', '']].map(function(s) {
setTimeout(console.log.bind(console, '\n%c' + s[0], s[1]));
});
} else {
var n = ['', ' .d8888b. 888 888', 'd88P Y88b 888 888', 'Y88b. 888 888', ' "Y888b. 888888 .d88b. 88888b. 888', ' "Y88b. 888 d88""88b 888 "88b 888', ' "888 888 888 888 888 888 Y8P', 'Y88b d88P Y88b. Y88..88P 888 d88P', ' "Y8888P" "Y888 "Y88P" 88888P" 888', ' 888', ' 888', ' 888']
, o = ('' + k).match(/.{35}.+?\s+|.+$/g)
, p = Math.floor(Math.max(0, (n.length - o.length) / 2));
for (var q = 0; q < n.length || q < o.length; q++) {
var r = n[q];
n[q] = r + new Array(45 - r.length).join(' ') + (o[q - p] || '');
}
console.log('\n\n\n' + n.join('\n') + '\n\n' + l + '\n');
return;
}

由于它被缩小了,所以阅读起来有点困难,即使有漂亮的打印。 j = i.stop || h._("Stop!")类型内容似乎正在尝试加载本地化文本,然后恢复为英语。然后,它会测试是否已检测到浏览器为 Chrome 或 Safari 以及 i.textonly未设置,如果设置了,它似乎会以您在 Chrome/Safari 中查看时获得的精美样式显示。 else子句很难理解,但它似乎可以创建您在文本模式或非 Chrome/Safari 浏览器中获得的 ASCII 艺术横幅:

 .d8888b.  888                       888    
d88P Y88b 888 888
Y88b. 888 888 This is a browser feature intended for
"Y888b. 888888 .d88b. 88888b. 888 developers. If someone told you to copy-paste
"Y88b. 888 d88""88b 888 "88b 888 something here to enable a Facebook feature
"888 888 888 888 888 888 Y8P or "hack" someone's account, it is a
Y88b d88P Y88b. Y88..88P 888 d88P scam and will give them access to your
"Y8888P" "Y888 "Y88P" 88888P" 888 Facebook account.
888
888
888

See https://www.facebook.com/selfxss for more information.

关于Javascript + 浏览器 - 如何检测开发工具/firebug 何时打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43155403/

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