前端防扒代码片段

Posted 刘翾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端防扒代码片段相关的知识,希望对你有一定的参考价值。

分享一段看到的挺有意思的代码

只要打开了devtools, 由于有debugger的存在, 导致页面的交互失效了. 并且即使点了放开debugger, 后面的reload又会导致页面刷新. 这样的对于页面的需要二次交互的部分, 算是隐藏了, 因为触发不了页面的事件. 可以有效防止嫖代码, 或者在network上分析接口.

对于正常使用的用户, 不打开devtools, 不会触发debugger浮层, setInterval也中断在了第一次执行时, 没影响.

// 放在页面main.js之前插入这段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('不要扒我了');
            window.location.reload();
         else 
            open = false;
        
    
)()
).addListener(function() 
    window.location.reload();
);

以上是关于前端防扒代码片段的主要内容,如果未能解决你的问题,请参考以下文章

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段

Javascript 防扒站,防止镜像网站

前端开发常用代码片段(中篇)

前端开发常用js代码片段