亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

前端頁(yè)面怎么限制用戶打開(kāi)瀏覽器控制臺(tái)

liguoquan
2025年6月30日 9:15 本文熱度 449
:前端頁(yè)面怎么限制用戶打開(kāi)瀏覽器控制臺(tái)


前端頁(yè)面怎么限制用戶打開(kāi)瀏覽器控制臺(tái)?

6,949閱讀3分鐘
專(zhuān)欄: 
前端

說(shuō)在前面

作為一名開(kāi)發(fā),相信大家對(duì)于瀏覽器控制臺(tái)都是不陌生的,平時(shí)頁(yè)面一出問(wèn)題第一反應(yīng)總是先打開(kāi)控制臺(tái)看看報(bào)錯(cuò)信息,而且還可以在控制臺(tái)里插入自己的腳本信息來(lái)修改頁(yè)面邏輯,那么你有沒(méi)有想過(guò) 怎么限制用戶打開(kāi)控制臺(tái) 呢?

禁用右鍵菜單 ??

添加圖片注釋?zhuān)怀^(guò) 140 字(可選)

在頁(yè)面上點(diǎn)擊鼠標(biāo)右鍵我們可以看到有個(gè) 檢查 選項(xiàng),通過(guò)這個(gè)菜單可以直接打開(kāi)控制臺(tái),我們可以直接在這個(gè)頁(yè)面上禁用右鍵菜單。

document.addEventListener("contextmenu", e => e.preventDefault());  

加上這段代碼后用戶在頁(yè)面上點(diǎn)擊右鍵就不會(huì)有反應(yīng)了。

攔截快捷鍵 ??

除了右鍵菜單欄,還有最經(jīng)典的 F12 ,通過(guò) F12 快捷鍵也可以快速打開(kāi)控制臺(tái),所以我們也可以將這個(gè)快捷鍵給攔截掉

document.addEventListener("keydown", e => {    if (e.keyCode === 123) {    e.preventDefault();    }   });

那么除了 F12 你知道還有什么快捷鍵可以打開(kāi)控制臺(tái)嗎?

  • Ctrl+Shift+C
  • Ctrl+Shift+I

上面這兩個(gè)快捷鍵也可以打開(kāi)控制臺(tái),還有一個(gè)快捷鍵 Ctrl+U 可以打開(kāi)源碼頁(yè)面,這里我們也可以一起把它給攔截掉。

document.addEventListener("keydown", e => {    if (e.keyCode === 123 ||               // F12        (e.ctrlKey && e.shiftKey && e.keyCode === 67) || // Ctrl+Shift+C        (e.ctrlKey && e.shiftKey && e.keyCode === 73) || // Ctrl+Shift+I        (e.ctrlKey && e.keyCode === 85)) { // Ctrl+U      e.preventDefault();    }   });  

加上這段代碼后用戶在頁(yè)面上按下這些快捷鍵就不會(huì)有反應(yīng)了。

檢測(cè)窗口變化??

加上前面的攔截之后,其實(shí)我們還是有辦法打開(kāi)控制臺(tái),可以通過(guò)瀏覽器設(shè)置來(lái)打開(kāi)控制臺(tái),這里的入口我們并無(wú)法監(jiān)聽(tīng)攔截到

添加圖片注釋?zhuān)怀^(guò) 140 字(可選)

let lastWidth = window.innerWidth; let lastHeight = window.innerHeight; window.addEventListener("resize", () => {  const widthDiff = Math.abs(window.innerWidth - lastWidth);  const heightDiff = Math.abs(window.innerHeight - lastHeight);  // 如果窗口尺寸變化但不是全屏切換,可能是控制臺(tái)打開(kāi)  if ((widthDiff > 50 || heightDiff > 50) && !isFullScreen()) {    //跳轉(zhuǎn)到空白頁(yè)面    window.location.href = "about:blank";    alert("檢測(cè)到異常窗口變化,請(qǐng)關(guān)閉開(kāi)發(fā)者工具");  }  lastWidth = window.innerWidth;  lastHeight = window.innerHeight; }); function isFullScreen() {  return (    document.fullscreenElement ||    document.webkitFullscreenElement ||    document.msFullscreenElement  ); }

通常默認(rèn)是會(huì)在頁(yè)面內(nèi)靠邊打開(kāi)控制臺(tái),所以可以通過(guò)監(jiān)聽(tīng)頁(yè)面大小變化來(lái)簡(jiǎn)單判斷是否打開(kāi)控制臺(tái),監(jiān)聽(tīng)到打開(kāi)后直接跳轉(zhuǎn)到空白頁(yè)面。

添加圖片注釋?zhuān)怀^(guò) 140 字(可選)

但是還有這么兩種情況

  • 全屏切換時(shí)的尺寸變化可能被誤判
  • 獨(dú)立打開(kāi)控制臺(tái)頁(yè)面時(shí)無(wú)法監(jiān)聽(tīng)到

無(wú)限D(zhuǎn)ebugger?

我們還可以通過(guò) Function("debugger") 來(lái)動(dòng)態(tài)生成斷點(diǎn)(動(dòng)態(tài)生成是為了防斷點(diǎn)禁用),通過(guò)無(wú)限循環(huán)生成斷點(diǎn),讓頁(yè)面一直處于斷點(diǎn)狀態(tài)。

(() => {    function block() {      setInterval(() => {        (function(){return false;})["constructor"]("debugger")["call"]();      }, 50);    }    try { block(); } catch (err) {}   })();  

添加圖片注釋?zhuān)怀^(guò) 140 字(可選)

雖然我們可以通過(guò)一些技術(shù)手段,給用戶打開(kāi)控制臺(tái)設(shè)置一些障礙,但對(duì)于經(jīng)驗(yàn)老到的用戶而言,繞過(guò)這些限制并非難事。依賴(lài)前端技術(shù)攔截控制臺(tái)訪問(wèn)是一種典型的“防君子不防小人”策略,不能想著靠這些手段來(lái)保障自己網(wǎng)站的安全


該文章在 2025/6/30 9:15:26 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved