{ function ban() { setInterva" />

色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何禁止人家調試自己的前端代碼

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2023-08-29 09:31 ? 次閱讀

為啥要禁止?

由于前端頁面會調用很多接口,有些接口會被別人爬蟲分析,破解后獲取數據

為了杜絕這種情況,最簡單的方法就是禁止人家調試自己的前端代碼

無限 debugger

前端頁面防止調試的方法主要是通過不斷debugger來瘋狂輸出斷點,因為debugger在控制臺被打開的時候就會執行

由于程序被debugger阻止,所以無法進行斷點調試,所以網頁的請求也是看不到的

基礎代碼如下:


/** * 基礎禁止調試代碼 */ (() => { function ban() { setInterval(() => { debugger; }, 50); } try { ban(); } catch (err) { } })();

4c189c0c-45ae-11ee-a2ef-92fbcf53809c.jpg

無限 debugger 的對策

如果僅僅是加上面那么簡單的代碼,對于一些技術人員而言作用不大

可以通過控制臺中的Deactivate breakpoints按鈕或者使用快捷鍵Ctrl + F8關閉無限debugger

這種方式雖然能去掉礙眼的debugger,但是無法通過左側的行號添加breakpoint

4c3246fc-45ae-11ee-a2ef-92fbcf53809c.jpg

禁止斷點的對策

如果將setInterval中的代碼寫在一行,就能禁止用戶斷點,即使添加logpoint為false也無用

當然即使有些人想到用左下角的格式化代碼,將其變成多行也是沒用的

(() => {
  function ban() {
    setInterval(() => { debugger; }, 50);
  }
  try {
    ban();
  } catch (err) { }
})();

4c6031b6-45ae-11ee-a2ef-92fbcf53809c.jpg

忽略執行的代碼

通過添加add script ignore list需要忽略執行代碼行或文件

也可以達到禁止無限debugger

4c7862ea-45ae-11ee-a2ef-92fbcf53809c.jpg

忽略執行代碼的對策

那如何針對上面操作的惡意用戶呢

可以通過將debugger改寫成Function("debugger")();的形式來應對

Function構造器生成的debugger會在每一次執行時開啟一個臨時js文件

當然使用的時候,為了更加的安全,最好使用加密后的腳本


javascript

復制代碼

// 加密前 (() => { function ban() { setInterval(() => { Function('debugger')(); }, 50); } try { ban(); } catch (err) { } })(); // 加密后 eval(function(c,g,a,b,d,e){d=String;if(!"".replace(/^/,String)){for(;a--;)e[a]=b[a]||a;b=[function(f){return e[f]}];d=function(){return"w+"};a=1}for(;a--;)b[a]&&(c=c.replace(new RegExp(""+d(a)+"","g"),b[a]));return c}('(()=>{1 0(){2(()=>{3("4")()},5)}6{0()}7(8){}})();',9,9,"block function setInterval Function debugger 50 try catch err".split(" "),0,{}));

4c8c5e9e-45ae-11ee-a2ef-92fbcf53809c.jpg

終極增強防調試代碼

為了讓自己寫出來的代碼更加的晦澀難懂,需要對上面的代碼再優化一下

將Function('debugger').call()改成(function(){return false;})['constructor']('debugger')['call']();

并且添加條件,當窗口外部寬高和內部寬高的差值大于一定的值 ,我把body里的內容換成指定內容

當然使用的時候,為了更加的安全,最好加密后再使用


(() => { function block() { if (window.outerHeight - window.innerHeight > 200 || window.outerWidth - window.innerWidth > 200) { document.body.innerHTML = "檢測到非法調試,請關閉后刷新重試!"; } setInterval(() => { (function () { return false; } ['constructor']('debugger') ['call']()); }, 50); } try { block(); } catch (err) { } })();

4ca65e66-45ae-11ee-a2ef-92fbcf53809c.jpg

審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8575

    瀏覽量

    151023
  • 數據
    +關注

    關注

    8

    文章

    7002

    瀏覽量

    88943
  • 程序
    +關注

    關注

    117

    文章

    3785

    瀏覽量

    81004
  • 代碼
    +關注

    關注

    30

    文章

    4779

    瀏覽量

    68525

原文標題:禁止別人調試自己的前端頁面代碼

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    鴻蒙原生應用元服務開發WEB-使用Devtools工具調試前端頁面

    ()接口開啟Web組件前端頁面調試能力,利用DevTools工具可以在PC端調試移動設備上的前端網頁。 1.使用DevTools工具,可以執行以下步驟: 在應用
    發表于 05-21 15:59

    關于手機的TX調試,急急急

    1,面試的時候人家總問我TX調試順序問題,我覺得應該先從前端基帶調起,即基帶~PA~雙工器~天線開關~天線。我是這樣想的:因為前端的噪聲系數對系統影響最大,所以,要從最前面開始調。這樣
    發表于 05-12 11:08

    為什么STM32會禁止JTAG調試功能卻保留SWD下載調試功能呢

    為什么STM32會禁止JTAG調試功能卻保留SWD下載調試功能呢?
    發表于 11-25 08:56

    Harmony自定義頁面請求與前端頁面調試

    能力,利用DevTools工具可以在PC端調試移動設備上的前端網頁。 使用DevTools工具,可以執行以下步驟: 1. 在應用代碼中開啟Web調試開關,具體如下: //xxx.e
    發表于 09-20 17:55

    HFC前端到同軸電纜的調試

    HFC(光纖同軸電纜混合系統)按照系統設計圖施工、架設、安裝結束以后,就要對整個系統從前端到同軸電纜進行調試。只有經過調試后信號電平達到設計指標,整個系統才能
    發表于 09-26 16:44 ?0次下載

    自己動手寫前端框架》電子書

    從入門菜鳥的角度來學習如何自己前端框架。可行性高,簡單易懂,適合入門學習。
    發表于 03-17 09:53 ?0次下載

    web前端工程師怎樣定位自己

    的指導下,在實現結構、樣式、行為相分離的基礎上,做到精簡、重用、有序。讓代碼易于維護。對產品的可用性、可訪問性、前端性能優化進行深入的研 究,實現良好的用戶體驗。
    的頭像 發表于 09-29 11:05 ?3294次閱讀

    PID算法原理_調試經驗以及代碼總結

    PID算法原理_調試經驗以及代碼總結分享。
    發表于 05-25 15:59 ?16次下載

    PID算法原理、調試方法及源代碼

    PID算法原理、調試方法及源代碼
    發表于 07-06 10:25 ?17次下載

    PID算法原理、調試經驗以及代碼資料

    PID算法原理、調試經驗以及代碼資料
    發表于 11-21 10:25 ?15次下載

    STM32單片機在調試禁止開門狗IWDG,WWDG

    前言使用cube mx生成的stm工程開啟了開門狗,在調試打斷點時,開門狗會繼續計數,從而對導致復位,這個時候是沒法直接禁止開門狗的,如果把cube mx生成的代碼直接修改了,下次使用cube mx
    發表于 12-23 18:58 ?6次下載
    STM32單片機在<b class='flag-5'>調試</b>時<b class='flag-5'>禁止</b>開門狗IWDG,WWDG

    如何通過cmm命令設置調試映像源代碼路徑

    當使用Codeviser調試系統映像文件時,經常遇到映像編譯使用的源代碼路徑和調試時使用的源代碼路徑不一致的情況,調試這樣的映像時,經常會發
    的頭像 發表于 11-15 11:07 ?1319次閱讀

    RAA489220 電池前端示例代碼手冊

    RAA489220 電池前端示例代碼手冊
    發表于 01-09 19:17 ?0次下載
    RAA489220 電池<b class='flag-5'>前端</b>示例<b class='flag-5'>代碼</b>手冊

    RAA489220 電池前端示例代碼手冊

    RAA489220 電池前端示例代碼手冊
    發表于 06-30 19:11 ?0次下載
    RAA489220 電池<b class='flag-5'>前端</b>示例<b class='flag-5'>代碼</b>手冊

    智能制造行業--客戶現場調試代碼如何防泄密

    我國近幾年傳統制造向智能制造的轉變,很多制造企業不僅有自己公司的圖紙文件需要保密,企業的有很多源代碼也需要保密,但是對于源代碼采用圖紙防泄密的方式是不可取的,源代碼防泄密比圖紙文件防泄
    的頭像 發表于 01-11 16:27 ?488次閱讀
    智能制造行業--客戶現場<b class='flag-5'>調試</b>源<b class='flag-5'>代碼</b>如何防泄密
    主站蜘蛛池模板: 六级黄色片| 亚洲青青青网伊人精品| 亚洲AV久久婷婷蜜臀无码不卡| 两个洞一起插哦!好刺激| 国产精品久久久久久亚洲影视| 2021乱码精品公司| 亚洲精品m在线观看| 骚妇BB双飞插| 麻豆一二三区果冻| 极品网红液液酱粉嫩福利照子凌酱| 第一怡春院| 成人精品亚洲| yin乱教师系列合集| 99爱在线精品视频免费观看9| 一品道门免费视频韩国| 午夜理伦片免费| 男人的天堂MV在线视频免费观看| jiapanese50欧美熟妇| 亚洲女人毛片| 偷拍久久国产视频免费| 亚洲视频在线观看| z00兽200俄罗斯| 果冻传媒在线观看视频| 免费无码一区二区三区蜜桃大| 日本xxxx96| 长泽梓黑人初解禁bdd07| 91久久偷偷看嫩草影院无费| 99国产强伦姧在线看RAPE| 成人免费视频在线观看| 国产精品香蕉视频在线| 久久精品手机观看| 欧美日韩午夜群交多人轮换| 色拍拍噜噜噜啦啦新网站| 亚洲精品午夜aaa级久久久久| 一区二一二| 成人免费视频在线播放| 黑人巨茎vide抽搐| 欧美高清video mr.sexo| 香蕉水蜜桃牛奶涩涩| 在线毛片片免费观看| 国产99久久亚洲综合精品西瓜tv|