網站這樣來屏蔽開發者工具,不比監聽 MouseDown 舒服?
之前,我曾提過一個問題, 網站如何檢測到是否開啓開發者工具?
問題很火,是 5 月份問題 top1。
在此, 把這問題及解決方法記錄下來.
監聽鍵盤事件 F12 之類的方法, 不記錄, 因爲剛開始大家都是這麼玩的。
方法一
chrome72 以下
var im = new Image();
Object.defineProperty(im, 'id', {
get: function() {
window.location.href = "http://106.53.103.200:8082/error.html"
blast();
}
});
console.log(im); //谷歌最新版失效
原理就是 chrome 在打開控制檯的時候會讀取頁面上所有的 id 元素.
方法二
let num = 0; //谷歌最新版有效
var devtools = new Date();
devtools.toString = function() {
num++;
if (num > 1) {
window.location.href = "http://106.53.103.200:8082/error.html"
blast();
}
}
console.log('', devtools);
只有打開控制檯,纔會執行 console 打印方法, 由此控制。
以上兩個方法,堪稱無解,任何人都打不開控制檯, 兩個方法都是利用了數據劫持,或者重寫一些核心方法而達到的,值得思考。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/_sdj23m2A3dooA3-Lt4E-w