对网站页面进行简单的恶意爬取行为
熊猫 管理员 已认证 9月前

以下代码包含了几个基本的防止恶意爬取的措施

禁止iframe嵌套:检测页面是否在iframe中打开,如果是则强制跳转到顶层页面。

检测开发者工具:通过重写一个函数来检测是否打开了开发者工具。

监听键盘事件:检测F12按键是否被按下。

检查鼠标右键点击:检测是否触发了鼠标右键菜单。

定时检查:通过定时器不断检查是否存在恶意爬取行为(开发者工具或鼠标右键点击)。

当发现恶意爬取行为时,可以根据需求执行相应的操作,例如跳转到其他页面、显示警告信息等。

// 检测页面加载方式,禁止iframe嵌套
if (window.top !== window.self) {
  window.top.location = window.self.location;
}

// 检测开发者工具打开情况
function detectDevTools() {
  const devTools = /./;
  devTools.toString = () => {
    this.isDevToolsOpened = true;
  };
};

// 监听键盘事件,检测F12按键
document.addEventListener('keydown', function(e) {
  if (e.key === 'F12' || e.keyCode === 123) {
    this.isDevToolsOpened = true;
  }
});

// 检查鼠标右键点击
document.addEventListener('contextmenu', function(e) {
  this.isRightClick = true;
});

// 定时检查是否存在恶意爬取行为
setInterval(function() {
  if (this.isDevToolsOpened || this.isRightClick) {
    // 发现恶意爬取行为,执行相应操作
    // 可以是跳转到其他页面、显示警告信息等
    alert('禁止恶意爬取!');
    // 这里可以根据需求进行进一步处理
  }
}, 1000);
最新回复 (0)