JavaScript檢測是否開啟了控制臺(tái)(F12調(diào)試工具)
js檢測用戶是否打開調(diào)試工具(chrome)
(function(){ var re=/x/; var i=0; console.log(re); re.toString=function(){ window.close(); return '第'+(++i)+'次打開控制臺(tái)'; } })();
JavaScript檢測是否開啟了控制臺(tái)(調(diào)試工具)
測試后在chrome有效
不少人防止別人趴源碼,一般采用檢測按鍵F12之類的,但是這些基本沒什么用
現(xiàn)在介紹一個(gè)方法,非常管用,可以檢測到你是否開啟了控制臺(tái)程序,可以算是JavaScript的一些奇淫巧技
將這段代碼加入你的網(wǎng)站即可,原理不明 = -
(function () { var re = /x/; var i = 0; console.log(re); re.toString = function () { alert("請(qǐng)關(guān)閉控制臺(tái)"); return '第 ' + (++i) + ' 次打開控制臺(tái)'; }; })();
然后你在打開控制臺(tái),即會(huì)彈出對(duì)話框
js檢測開發(fā)者工具Devtools是否打開防調(diào)試
之前寫過一篇文章《Javascript檢測開發(fā)者工具Devtools是否打開》,主要是講如何通過js來檢測開發(fā)者工具是否打開,防止別人惡意調(diào)試我們的代碼,那段代碼也是查了蠻多資料整理出來的,當(dāng)時(shí)可以兼容chrome,firefox,ie,但是隨著瀏覽器版本的更新,已經(jīng)基本上沒有作用了,最近我發(fā)現(xiàn)還是有蠻多人去瀏覽那篇文章,所以這里再放出一段代碼,算是個(gè)升級(jí)版吧,之前的版本里在firefox上還有有限制的,下面提供的這個(gè)版本我測試過通殺現(xiàn)在的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();
這段代碼是什么原理,說實(shí)話我沒搞太懂,也去請(qǐng)教過一些大佬,都不能完全說出其中的原理,如果有懂的朋友請(qǐng)一定不吝賜教,雖然不知道原理,但是效果的確是杠杠的,這是本人從huichan網(wǎng)站上截取的,這里不得不佩服那些做huichan的,太強(qiáng)大。由于以前代碼是加密的,對(duì)于其中一些方法的命名我解密時(shí)都是隨意取的,不喜勿噴。
當(dāng)然這種伎倆對(duì)于熟悉調(diào)試的開發(fā)者來說,完全沒有阻礙,但畢竟也能防范住一小批不懷好意的人,幸幸苦苦寫出來的代碼被別人悄悄的就搬走了,確實(shí)挺惱人的,但僅僅靠這么一個(gè)防調(diào)試的代碼是不夠的,我們還需要做的還有很多,比如一些基本的js的壓縮混淆加密等等,后期本人會(huì)整理一些js加密混淆以及解密方面的文章,敬請(qǐng)期待...
經(jīng)腳本之家小編測試就最后一種方法可以使用,下篇文章接著介紹。
相關(guān)文章
淺析Javascript的自動(dòng)分號(hào)插入(ASI)機(jī)制
我們大家都知道在寫java和c時(shí),必須要在語句后加分號(hào),否則編譯通不過。而js不同,存在自動(dòng)分好插入機(jī)制,下文簡稱ASI。它會(huì)給源代碼的 token 流自動(dòng)插入分號(hào)。下面這篇文章我們就來談?wù)凧avascript的自動(dòng)分號(hào)插入(ASI)機(jī)制。2016-09-09JavaScript學(xué)習(xí)筆記之ES6數(shù)組方法
ES6給數(shù)組添加了一些新特性,而這些新特性到目前為止完全可以運(yùn)用到自己的業(yè)務(wù)層。在這一節(jié)中將總結(jié)有關(guān)于ES6給數(shù)組提供一些新特性的使用方法2016-03-03鼠標(biāo)右擊事件代碼(asp.net后臺(tái))
本程序由一個(gè)js文件和aspx文件組成,沒有后臺(tái)CS代碼。2011-01-01uniapp項(xiàng)目實(shí)踐自定義加載組件示例詳解
這篇文章主要為大家介紹了uniapp項(xiàng)目實(shí)踐自定義加載組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09鼠標(biāo)劃過實(shí)現(xiàn)延遲加載并隱藏層的js代碼
鼠標(biāo)劃過延遲加載隱藏層的效果,想必大家都有見到過吧,在本文將為大家詳細(xì)介紹下使用js是如何實(shí)現(xiàn)的,感興趣的朋友可以參考下2013-10-10