js 防止打開審核元素、查看源碼扶认、保存

為了安全侨拦,有時(shí)候我們需要對(duì)我們的頁(yè)面做一些限制。防止別人直接拿到你的代碼辐宾。以下是我搜集多位大佬總結(jié)出來(lái)的狱从。 (警告一定要看)

方法1 (有用卻不完善)
// 復(fù)雜
window.onload = function() {
   //屏蔽鍵盤事件
   document.onkeydown = (e)=> {
    console.log(e);
    if (e.keyCode == 123) { // 屏蔽F12
     return false;
    } else if ((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)) { // 屏蔽Ctrl+Shift+I
     return false;
    } else if ((e.shiftKey) && (e.keyCode == 121)) { // 屏蔽Shift+F10
     return false;
    } else if ((e.ctrlKey) && (e.keyCode == 85)) { // 屏蔽Ctrl+U
     return false;
    } else if ((e.ctrlKey) && (e.keyCode == 83)) { // 屏蔽Ctrl+S
     return false;
    }
   };
   //屏蔽鼠標(biāo)右擊
   document.oncontextmenu = ()=> {
    return false;
   }
}


// 簡(jiǎn)化
document.oncontextmenu = new Function("return false;");
document.onkeydown = document.onkeyup = document.onkeypress = function(event) {
      var e = event || window.event || arguments.callee.caller.arguments[0];
      if (e && (e.keyCode == 123 || e.keyCode == 116)) {
              e.returnValue = false;
              return (false);
      }
  }

?? 這是兩個(gè)方法膨蛮;功能有差異但是都是為了防止審核元素。
?? 主要實(shí)現(xiàn):我們平時(shí)f12或右鍵鼠標(biāo)和快捷鍵的一些操作季研;有用卻不完善敞葛,原因我提前打開審核元素在輸入網(wǎng)址仍可以看到代碼

方法2 (有用,本人在用)
<script>
((function() {
    var callbacks = [],
        timeLimit = 50,
        open = false;
    setInterval(loop, 1);
    return {
        addListener: function(fn) {
            callbacks.push(fn);
        },
        cancleListenr: function(fn) {
            callbacks = callbacks.filter(function(v) {
                return v !== fn;
            });
        }
    }

    function loop() {
        var startTime = new Date();
        debugger;
        if (new Date() - startTime > timeLimit) {
            if (!open) {
                callbacks.forEach(function(fn) {
                    fn.call(null);
                });
            }
            open = true;
            window.stop();
            // alert('??禁止'); 
            document.body.innerHTML = "";
        } else {
            open = false;
        }
    }
})()).addListener(function() {
    window.location.reload();
});
</script>
<script>
(function (a) {
    return (function (a) {
        return (Function('Function(arguments[0]+"' + a + '")()'))
    })(a)
})('bugger')('de', 0, 0, (0, 0));
</script>

?? 主要實(shí)現(xiàn):當(dāng)你打開f12(也叫審核元素与涡、檢查)時(shí)惹谐;自動(dòng)觸動(dòng)debugger;并且body中的內(nèi)容為空递沪。
?????? 代碼涉及到setInterval 記得最后清除 window.clearInterval()豺鼻。 需求不同清除的位置不同,本文我沒(méi)寫

方法3 (有用但不完善)
function inlobase_noF12() {
    while (1) {}
}
function inlojv_console() {
    if ((window.console && (console.firebug || console.table && /firebug/i.test(console.table()))) || (typeof opera == "object" && typeof opera.postError == "function" && console.profile.length > 0)) {
        inlobase_noF12()
    }
    if (typeof console.profiles == "object" && console.profiles.length > 0) {
        inlobase_noF12()
    }
}
inlojv_console();
window.onresize = function() {
    if ((window.outerHeight - window.innerHeight) > 200) {
        inlobase_noF12()
    }
};

?? 主要實(shí)現(xiàn):打開f12頁(yè)面直接卡死款慨;有用卻不完善,原因我提前打開審核元素在輸入網(wǎng)址仍可以看到代碼 (同方法1類似)

補(bǔ)充4(斷點(diǎn)谬莹,瀏覽器開啟f12就會(huì)停止運(yùn)行)
<script type="text/javascript">
    function customDebug() {
        for(var i = 0; i < 10; i++) {
            console.log(i);
            if(i % 1 == 0) {
                debugger;
            }
        }
    }
    customDebug();
</script>
補(bǔ)充5(攻擊瀏覽器檩奠,用戶開啟f12后,cpu就會(huì)爆)
var total="";
for (var i=0;i<1000000;i++)
{
 total= total+i.toString();
 history.pushState(0,0,total);
}

?? 補(bǔ)充4和補(bǔ)充5這兩種只能防止 瀏覽器抓包

總結(jié)

本文集多個(gè)大佬文章完成附帽,僅供參考埠戳! 完

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蕉扮,隨后出現(xiàn)的幾起案子整胃,更是在濱河造成了極大的恐慌,老刑警劉巖喳钟,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屁使,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡奔则,警方通過(guò)查閱死者的電腦和手機(jī)蛮寂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)易茬,“玉大人酬蹋,你說(shuō)我怎么就攤上這事〕槔常” “怎么了范抓?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)食铐。 經(jīng)常有香客問(wèn)我匕垫,道長(zhǎng),這世上最難降的妖魔是什么璃岳? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任年缎,我火速辦了婚禮悔捶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘单芜。我一直安慰自己蜕该,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布洲鸠。 她就那樣靜靜地躺著堂淡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪扒腕。 梳的紋絲不亂的頭發(fā)上绢淀,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音瘾腰,去河邊找鬼皆的。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蹋盆,可吹牛的內(nèi)容都是我干的费薄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼栖雾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼楞抡!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起析藕,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤召廷,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后账胧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體竞慢,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年找爱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了梗顺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡车摄,死狀恐怖寺谤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情吮播,我是刑警寧澤变屁,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站意狠,受9級(jí)特大地震影響粟关,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜环戈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一闷板、第九天 我趴在偏房一處隱蔽的房頂上張望澎灸。 院中可真熱鬧,春花似錦遮晚、人聲如沸性昭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)糜颠。三九已至,卻和暖如春萧求,著一層夾襖步出監(jiān)牢的瞬間其兴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工夸政, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留元旬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓守问,卻偏偏與公主長(zhǎng)得像法绵,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子酪碘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容