JavaScript檢測是否開啟了控制臺(F12調(diào)試工具)
js檢測用戶是否打開調(diào)試工具(chrome)
(function(){ var re=/x/; var i=0; console.log(re); re.toString=function(){ window.close(); return '第'+(++i)+'次打開控制臺'; } })();
JavaScript檢測是否開啟了控制臺(調(diào)試工具)
測試后在chrome有效
不少人防止別人趴源碼,一般采用檢測按鍵F12之類的,但是這些基本沒什么用
現(xiàn)在介紹一個方法,非常管用,可以檢測到你是否開啟了控制臺程序,可以算是JavaScript的一些奇淫巧技
將這段代碼加入你的網(wǎng)站即可,原理不明 = -
(function () {
var re = /x/;
var i = 0;
console.log(re);
re.toString = function () {
alert("請關(guān)閉控制臺");
return '第 ' + (++i) + ' 次打開控制臺';
};
})();
然后你在打開控制臺,即會彈出對話框
js檢測開發(fā)者工具Devtools是否打開防調(diào)試
之前寫過一篇文章《Javascript檢測開發(fā)者工具Devtools是否打開》,主要是講如何通過js來檢測開發(fā)者工具是否打開,防止別人惡意調(diào)試我們的代碼,那段代碼也是查了蠻多資料整理出來的,當時可以兼容chrome,firefox,ie,但是隨著瀏覽器版本的更新,已經(jīng)基本上沒有作用了,最近我發(fā)現(xiàn)還是有蠻多人去瀏覽那篇文章,所以這里再放出一段代碼,算是個升級版吧,之前的版本里在firefox上還有有限制的,下面提供的這個版本我測試過通殺現(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();
這段代碼是什么原理,說實話我沒搞太懂,也去請教過一些大佬,都不能完全說出其中的原理,如果有懂的朋友請一定不吝賜教,雖然不知道原理,但是效果的確是杠杠的,這是本人從huichan網(wǎng)站上截取的,這里不得不佩服那些做huichan的,太強大。由于以前代碼是加密的,對于其中一些方法的命名我解密時都是隨意取的,不喜勿噴。
當然這種伎倆對于熟悉調(diào)試的開發(fā)者來說,完全沒有阻礙,但畢竟也能防范住一小批不懷好意的人,幸幸苦苦寫出來的代碼被別人悄悄的就搬走了,確實挺惱人的,但僅僅靠這么一個防調(diào)試的代碼是不夠的,我們還需要做的還有很多,比如一些基本的js的壓縮混淆加密等等,后期本人會整理一些js加密混淆以及解密方面的文章,敬請期待...
經(jīng)腳本之家小編測試就最后一種方法可以使用,下篇文章接著介紹。
相關(guān)文章
JavaScript判斷是否為數(shù)字的多種方法小結(jié)
這篇文章主要介紹了JavaScript判斷是否為數(shù)字的多種方法小結(jié),本文給大家分享三種方法,結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
JS+CSS實現(xiàn)感應(yīng)鼠標漸變顯示DIV層的方法
這篇文章主要介紹了JS+CSS實現(xiàn)感應(yīng)鼠標漸變顯示DIV層的方法,涉及javascript對div層的逐漸顯示與隱藏的實現(xiàn)技巧,需要的朋友可以參考下2015-02-02
JavaScript數(shù)組_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了JavaScript數(shù)組的相關(guān)知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-06-06
用javascript來實現(xiàn)動畫導(dǎo)航效果的代碼
javascript來實現(xiàn)動畫導(dǎo)航效果是通過定時器與鼠標事件響應(yīng)相結(jié)合,動態(tài)修改頁面元素屬性實現(xiàn)的動畫導(dǎo)航效果,需要的朋友可以參考一下2007-12-12
JS笛卡爾積算法與多重數(shù)組笛卡爾積實現(xiàn)方法示例
這篇文章主要介紹了JS笛卡爾積算法與多重數(shù)組笛卡爾積實現(xiàn)方法,結(jié)合實例形式分析了javascript根據(jù)對象或數(shù)組生成笛卡爾積的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
打開新窗口關(guān)閉當前頁面不彈出關(guān)閉提示js代碼
打開新窗口關(guān)閉當前頁面時總是彈出提示框,有沒有辦法避免它的彈出呢,答案是可以的接下來為大家分享一個方法可以解決此問題,感興趣的你可不要錯過了哈,希望可以幫助到你2013-03-03
setTimeout 函數(shù)在前端延遲搜索實現(xiàn)中的作用詳解
這篇文章主要為大家介紹了setTimeout 函數(shù)在前端延遲搜索實現(xiàn)中的作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12
JS如何獲取指定范圍內(nèi)的隨機數(shù)含小數(shù)
這篇文章主要介紹了JS如何獲取指定范圍內(nèi)的隨機數(shù)含小數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
JavaScript Event學(xué)習(xí)第五章 高級事件注冊模型
在這一章我會講解兩種高級時間注冊模型:W3C和微軟的。因為這兩個方法都不能跨瀏覽器,所以在現(xiàn)在看來他們的使用場合并不多。2010-02-02

