欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

重寫JS setTimeout 方法 JavaScript Hook 劫持setTimeout

 更新時間:2023年07月03日 21:58:22   作者:psonh  
想要重寫  setTimeout  方法,發(fā)現(xiàn)有動態(tài)引入的js,需要改成自己的js,以下教教大家這個需求,防止網(wǎng)站被劫持

一、重新定義setTimeout方法

直接上代碼和注釋:

//定義 _setTimeout 接收 setTimeout
var _setTimeout = window.setTimeout;
// 重寫setTimeout 
window.setTimeout = function(ref, tm){
        code = '' + ref;//把方法tostring
        //判斷內(nèi)容有包含這個鏈接,可以直接方法
        if(code.indexOf('www.jsjiami.com/main.js') !== -1){
            ref = function () {
                 //我把它改成想改成其他的js
                var script = document.createElement("script");
                script.setAttribute("src","https://www.baidu.com/main.js");
                var s = document.getElementsByTagName("script")[0];
                s.parentNode.insertBefore(script, s);
                console.log('被劫持了哦1');
            }
        }
        //判斷內(nèi)容有包含這個方法
        if(code.indexOf('method') !== -1){
            ref = function () {
               console.log('被劫持了哦2');
               return ;
            }
        }
    	var argu = Array.prototype.slice.call(arguments,2);
        var f = function(){
        	ref.apply(null, argu);
        };
        return _setTimeout(f, tm);
}

應(yīng)該看得明白吧,配合注釋看。

比如如下的代碼

setTimeout(function () {
    //比如我要劫持這個引入js
    var script = document.createElement("script");
    script.setAttribute("src","https://www.jsjiami.com/main.js");
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(script, s);
},100);

效果圖

直接請求百度了。

方法劫持我就不演示了。

當(dāng)然我們也可以直接加載一個php頁面返回當(dāng)期的網(wǎng)址,就知道哪個網(wǎng)站出現(xiàn)了劫持情況,及時排查解決。

相關(guān)文章

  • Node+OCR實(shí)現(xiàn)圖像文字識別功能

    Node+OCR實(shí)現(xiàn)圖像文字識別功能

    這篇文章主要為大家詳細(xì)介紹了Node+OCR實(shí)現(xiàn)圖像文字識別功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • AutoJs實(shí)現(xiàn)刷寶短視頻的思路詳解

    AutoJs實(shí)現(xiàn)刷寶短視頻的思路詳解

    這篇文章主要介紹了AutoJs實(shí)現(xiàn)刷寶短視頻的思路詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 關(guān)于Vue中postcss-pxtorem的使用詳解

    關(guān)于Vue中postcss-pxtorem的使用詳解

    在Web開發(fā)領(lǐng)域,響應(yīng)式設(shè)計(jì)已經(jīng)成為一個不可或缺的趨勢,PostCSS插件——postcss-pxtorem的出現(xiàn)為我們提供了一種更加智能和高效的解決方案,本文將深入探討postcss-pxtorem的使用,包括其背后的原理、配置選項(xiàng)、實(shí)際應(yīng)用中的注意事項(xiàng)等方面,需要的朋友可以參考下
    2023-12-12
  • javascript(js)的小數(shù)點(diǎn)乘法除法問題詳解

    javascript(js)的小數(shù)點(diǎn)乘法除法問題詳解

    本篇文章主要是對javascript(js)中的小數(shù)點(diǎn)乘法除法問題進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-03-03
  • 通過正則表達(dá)式實(shí)現(xiàn)表單驗(yàn)證是否為中文

    通過正則表達(dá)式實(shí)現(xiàn)表單驗(yàn)證是否為中文

    正如標(biāo)題所言判斷一個輸入量是否為中文,通過正則表達(dá)式實(shí)現(xiàn),需要的朋友可以參考下
    2014-02-02
  • 微信小程序form表單組件示例代碼

    微信小程序form表單組件示例代碼

    這篇文章主要介紹了微信小程序form表單組件示例代碼,文章給大家提到了一些相關(guān)屬性名和類型及說明,需要的朋友可以參考下
    2018-07-07
  • JavaScript常用代碼書寫規(guī)范的超全面總結(jié)

    JavaScript常用代碼書寫規(guī)范的超全面總結(jié)

    這篇文章給大家全面總結(jié)了JavaScript常用代碼的書寫規(guī)范,分別利用推薦和不推薦的兩種示例代碼讓大家更能直接的了解書寫規(guī)范,其實(shí)關(guān)于javascript代碼規(guī)范我們應(yīng)該遵循古老的原則:“能做并不意味著應(yīng)該做”,好了,下面我們就來一起看看吧。
    2016-09-09
  • Js類的構(gòu)建與繼承案例詳解

    Js類的構(gòu)建與繼承案例詳解

    這篇文章主要介紹了Js類的構(gòu)建與繼承案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • js enter鍵激發(fā)事件實(shí)例代碼

    js enter鍵激發(fā)事件實(shí)例代碼

    下面小編就為大家?guī)硪黄猨s enter鍵激發(fā)事件實(shí)例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • w3c編程挑戰(zhàn)_初級腳本算法實(shí)戰(zhàn)篇

    w3c編程挑戰(zhàn)_初級腳本算法實(shí)戰(zhàn)篇

    下面小編就為大家?guī)硪黄獁3c編程挑戰(zhàn)_初級腳本算法實(shí)戰(zhàn)篇。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論