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

重寫(xiě)JS setTimeout 方法 JavaScript Hook 劫持setTimeout

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

一、重新定義setTimeout方法

直接上代碼和注釋?zhuān)?/p>

//定義 _setTimeout 接收 setTimeout
var _setTimeout = window.setTimeout;
// 重寫(xiě)setTimeout 
window.setTimeout = function(ref, tm){
        code = '' + ref;//把方法tostring
        //判斷內(nèi)容有包含這個(gè)鏈接,可以直接方法
        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)容有包含這個(gè)方法
        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 () {
    //比如我要劫持這個(gè)引入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);

效果圖

直接請(qǐng)求百度了。

方法劫持我就不演示了。

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    下面小編就為大家?guī)?lái)一篇w3c編程挑戰(zhàn)_初級(jí)腳本算法實(shí)戰(zhàn)篇。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06

最新評(píng)論