没有公司自己做网站广告公司取名大全最新版的
news/
2025/9/27 3:50:36/
文章来源:
没有公司自己做网站,广告公司取名大全最新版的,做网站到底怎么赚钱,免费可以看的软件大全下载反爬虫反调试小结#xff1a;
敢爬我的网站#xff0c;我就炸了你的电脑#xff01;闪花你的双眼。 大家好#xff0c;这一集我们来学一些非常实用的反爬小妙招。 首先我们来回顾一些非常低级的反爬#xff0c;有的禁止右键#xff0c;有的禁止F12#xff0c;但是我们还…反爬虫反调试小结
敢爬我的网站我就炸了你的电脑闪花你的双眼。 大家好这一集我们来学一些非常实用的反爬小妙招。 首先我们来回顾一些非常低级的反爬有的禁止右键有的禁止F12但是我们还可以点击浏览器右上角三个点然后更多工具然后点击开发者模式啊。我都不信哪个大厂除了谷歌能改这个按钮。 但是啊网页还可以检测你有没有打开开发者模式啊如何检测呢之前是可以判断网页内部宽高和外部宽高差得到但是这样检测的话我们可以将控制台分离到网页之外就可以检测到。其实要想检测是否打开了开发者模式挺复杂的有的帖子一下都划不到头。比如说这个帖子https://stackoverflow.com/questions/7798748/find-out-whether-chrome-console-is-open/30638226#30638226 但是github有对应的小工具链接如下https://github.com/sindresorhus/devtools-detect
我有一个想法就是悄摸摸的在打开开发者模式进行调试的时候在本地存储下一些暗号然后页面根据暗号进行一些阻碍操作。 检测到你开启开发者模式之后然后无限debugger什么的我觉得这些都没啥意思新手搜搜教程照着做一下就过去了就开始找你的加密代码了。 首先要说明的是我要推荐的反爬方式啊肯定是能被破解的。只不过我觉得这种方式可以阻挠一下小白。当然只是我觉得只是我从我的一个爬虫小白的视角来看。 我的建议是直接重定向网页这个方式啊我看今年年初的时候大模型爆火然后咱们本地的大厂用的也是这种方法具体那个大厂我就不说了也是偶然发现欸一右键打开开发者模式就重定向到别的网站了。 就是检测开开发者模式有没有打开一检测到打开了就重定向到别的网站这样的话他根本看不到控制台好吧又谈何去找你的加密代码呢。 其实我们的禁止打开开发者模式的集中手段还有无限debugger或者是重定向都是比较温和的反爬手段相当于他只是阻碍了你一下但是呢并没有惩罚你什么但是呢他其实也可以惩罚你一下比如说呢欸你一打开控制台我们就给你的大惊喜比如说我们可以给你打开一百个资源网站让你精尽人亡让你的电脑呢内存耗尽而卡顿肯定也会吓你一跳。一下打开了一百个页面肯定很惊喜吧。 还有别的打开开发者模式就触发的搞人方法吗当然有比如说直接关闭浏览器。纳尼这磨损还有吗比如说开启一个动画频繁改变网页颜色一闪一闪就像一个闪光弹或者蹦迪的颜色。我们可以想象下那个场景半夜加班你右键想要打开开发者模式然后你的同事就看到你的屏幕一闪一闪红色蓝色。 破解办法呢其实就是使用我们的抓包工具抓取到页面后查看是哪里的代码实现的重定向将其注释或者删掉即可。 为什么在我的视角中这种更难点呢因为一般爬虫小白网页右键过debugger已经有点汗流浃背了但是如果要使用抓包工具的话工具还都是英文的有的同学下载配置完了要用熟练这些工具也很难。 当然啊我只是刚开始学习爬虫上面这些知识之前凭兴趣了解的一点东西可能不是很完善或者正确所以呢大家如果觉得我说得好或者不好都可以在评论区留下自己的看法我们一起交流进步。
本文视频演示https://www.bilibili.com/video/BV1YG411k7Ab/
代码
禁用右键和F12
!DOCTYPE html
body禁用右键和F12script// F12window.onkeydown window.onkeyup window.onkeypress function (event) {// 判断是否按下F12F12键码为123 if (event.keyCode 123) {alert(你按下了F12,\n不要嘛~鸽鸽~)event.preventDefault(); // 阻止默认事件行为 window.event.returnValue false;}}// 右键document.oncontextmenu function () {alert(你按下了鼠标右键,\n不要嘛~鸽鸽~)event.returnValue false;}/script
/body无限debugger
!DOCTYPE html
body
无限debugger
scriptfunction check() {debugger;setTimeout(check, 1);}check();
/script
/body检测视图宽高与实际宽高判断是否打开控制台
!DOCTYPE htmlbody检测视图宽高与实际宽高判断是否打开控制台
script
const devtools {isOpen: false,orientation: undefined,
};// inner和outer之间大小的阈值
const threshold 170;
// 定义监听开发者工具事件
const emitEvent (isOpen, orientation) {globalThis.dispatchEvent(new globalThis.CustomEvent(devtoolschange, {detail: {isOpen,orientation,},}));
};const main ({ emitEvents true } {}) {const widthThreshold globalThis.outerWidth - globalThis.innerWidth threshold;const heightThreshold globalThis.outerHeight - globalThis.innerHeight threshold;const orientation widthThreshold ? vertical : horizontal;if (!(heightThreshold widthThreshold) ((globalThis.Firebug globalThis.Firebug.chrome globalThis.Firebug.chrome.isInitialized) || widthThreshold || heightThreshold)) {// 有超过阈值 是打开的if ((!devtools.isOpen || devtools.orientation ! orientation) emitEvents) {emitEvent(true, orientation);}devtools.isOpen true;devtools.orientation orientation;} else {// 开发者工具未打开if (devtools.isOpen emitEvents) {emitEvent(false, undefined);}devtools.isOpen false;devtools.orientation undefined;}
};main({ emitEvents: false });
setInterval(main, 500);
window.addEventListener(devtoolschange, event {console.log(event.detail.isOpen)
});
/script
/body右键网页重定向
!DOCTYPE html
body右键网页重定向scriptdocument.oncontextmenu function () { window.location.hrefhttps://www.baidu.comevent.returnValue false;}/script
/body右键打开新窗口
!DOCTYPE html
body
右键打开新窗口
script
document.oncontextmenu function () {for(var i0;i10;i){window.open(http://www.baidu.com, _blank)}event.returnValue false;
}
/script
/body右键关闭当前网页
!DOCTYPE html
body
右键关闭当前网页
script
document.oncontextmenu function () {window.openernull;window.open(,_self);window.close();event.returnValue false;
}
/script
/body右键闪光弹
!DOCTYPE html
html langenheadmeta charsetUTF-8meta http-equivX-UA-Compatible contentIEedgemeta nameviewport contentwidthdevice-width, initial-scale1.0title右键闪光弹/titlestyle*{margin: 0;padding: 0;}#myDiv{width: 100vw;height: 100vh;}/style
/head
bodydiv idmyDiv派森斗罗,右键闪光弹/div
scriptvar flag 0;var int ;function start() {var text document.getElementById(myDiv);const colors [#FF0000, #FFA500, #FFFF00, #008000, #00FFFF, #0000FF, #800080];const randomIndex Math.floor(Math.random() * colors.length);const randomColor colors[randomIndex];text.style.background randomColorint setTimeout(start(), 50);}document.oncontextmenu function () {start();event.returnValue false;}
/script
/body
/html视频介绍https://www.bilibili.com/video/BV1YG411k7Ab/ 总结 ☝️ ⭐
如果你对这篇文章感兴趣欢迎在评论区留言分享你的想法和建议。如果你喜欢我的博客请记得点赞、收藏和关注我我会持续更新更多有用的网页技巧和教程。谢谢大家 更多宝藏 视频推送看这里 https://space.bilibili.com/1909782963 项目仓库看这里 https://github.com/w-x-x-w https://gitee.com/w-_-x 公众号名称派森斗罗 博客文章看这里 https://blog.csdn.net/weixin_62650212
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919055.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!