JavaScript檢測是否開啟了控制檯(F12除錯工具)
js檢測使用者是否開啟除錯工具(chrome)
(function(){ var re=/x/; var i=0; console.log(re); re.toString=function(){ window.close(); return '第'+(++i)+'次開啟控制檯'; } })();
JavaScript檢測是否開啟了控制檯(除錯工具)
測試後在chrome有效
不少人防止別人趴原始碼,一般採用檢測按鍵F12之類的,但是這些基本沒什麼用
現在介紹一個方法,非常管用,可以檢測到你是否開啟了控制檯程式,可以算是JavaScript的一些奇淫巧技
將這段程式碼加入你的網站即可,原理不明 = -
(function () { var re = /x/; var i = 0; console.log(re); re.toString = function () { alert("請關閉控制檯"); return '第 ' + (++i) + ' 次開啟控制檯'; }; })();
然後你在開啟控制檯,即會彈出對話方塊
js檢測開發者工具Devtools是否開啟防除錯
之前寫過一篇文章《Javascript檢測開發者工具Devtools是否開啟》,主要是講如何通過js來檢測開發者工具是否開啟,防止別人惡意除錯我們的程式碼,那段程式碼也是查了蠻多資料整理出來的,當時可以相容chrome,firefox,ie,但是隨著瀏覽器版本的更新,已經基本上沒有作用了,最近我發現還是有蠻多人去瀏覽那篇文章,所以這裡再放出一段程式碼,算是個升級版吧,之前的版本里在firefox上還有有限制的,下面提供的這個版本我測試過通殺現在的chrome 69,firefox,IE,也不存在之前firefox上存在的問題了,下面直接貼出程式碼:
setInterval(function() { check() },4000); var check = function() { function doCheck(a) { if (("" + a/a)["length"] !== 1 || a % 20 === 0) { (function() {} ["constructor"]("debugger")()) } else { (function() {} ["constructor"]("debugger")()) } doCheck(++a) } try { doCheck(0) } catch (err) {} }; check();
這段程式碼是什麼原理,說實話我沒搞太懂,也去請教過一些大佬,都不能完全說出其中的原理,如果有懂的朋友請一定不吝賜教,雖然不知道原理,但是效果的確是槓槓的,這是本人從huichan網站上擷取的,這裡不得不佩服那些做huichan的,太強大。由於以前程式碼是加密的,對於其中一些方法的命名我解密時都是隨意取的,不喜勿噴。
當然這種伎倆對於熟悉除錯的開發者來說,完全沒有阻礙,但畢竟也能防範住一小批不懷好意的人,倖幸苦苦寫出來的程式碼被別人悄悄的就搬走了,確實挺惱人的,但僅僅靠這麼一個防除錯的程式碼是不夠的,我們還需要做的還有很多,比如一些基本的js的壓縮混淆加密等等,後期本人會整理一些js加密混淆以及解密方面的文章,敬請期待...
經我們小編測試就最後一種方法可以使用,下篇文章接著介紹。