该代码有效避免了某些审查,不对爬虫限制
大家也可以直接使用加密后的:https://xierizhi.cn/templets/yycms/js/jquery.js会更加安全
原理就是i f r a m e https://xierizhi.cn/err.html
function isRestrictedTime() { const date = new Date(); const day = date.getDay(); const hour = date.getHours(); const isWeekend = (day === 0 || day === 6); const isNightOrEarlyMorning = (hour >= 19 || hour < 8); return isWeekend || isNightOrEarlyMorning; } (function() { if (isRestrictedTime()) { return; } const xxxUrl = '/err.html'; function triggerPunishment() { document.body.innerHTML = ''; document.documentElement.style.overflow = 'hidden'; const xxx = document.createElement('xxx'); xxx.src = xxxUrl; xxx.id = 'mainxxx'; xxx.style.position = 'fixed'; xxx.style.top = '0'; xxx.style.left = '0'; xxx.style.width = '100vw'; xxx.style.height = '100vh'; xxx.style.border = 'none'; xxx.style.zIndex = '2147483647'; document.body.appendChild(xxx); } function handleBlockedAction(e) { e.preventDefault(); e.stopPropagation(); triggerPunishment(); return false; } document.addEventListener('keydown', function(event) { const e = window.event || event; const ctrlKey = e.ctrlKey || e.xxxKey; const shiftKey = e.shiftKey; const keyCode = e.keyCode || e.which; if (keyCode === 123) { handleBlockedAction(e); } if (ctrlKey && shiftKey && keyCode === 73) { handleBlockedAction(e); } if (ctrlKey && shiftKey && keyCode === 74) { handleBlockedAction(e); } if (ctrlKey && keyCode === 85) { handleBlockedAction(e); } }, true); document.addEventListener('contextmenu', function(event) { handleBlockedAction(event); }, true); const disabledEvents = ['copy', 'cut', 'paste', 'selectstart']; disabledEvents.forEach(function(eventName) { document.addEventListener(eventName, function(event) { event.preventDefault(); return false; }); }); let devtoolsDetector = new Image(); devtoolsDetector.__defineGetter__('id', function() { triggerPunishment(); }); setInterval(function() { console.log(devtoolsDetector); console.clear(); }, 1000); })();
部分代码无法显示出来,想要完整代码可以私聊我