该代码有效避免了某些审查,不对爬虫限制
大家也可以直接使用加密后的: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);
})();部分代码无法显示出来,想要完整代码可以私聊我