首页 > 其他分享 >总有坏人想爬我网站的数据,看我用这 10 招干他!

总有坏人想爬我网站的数据,看我用这 10 招干他!

时间:2024-08-09 18:28:17浏览次数:15  
标签:招干 请求 10 网站 可以 爬虫 用户 坏人 数据

大家好,我是程序员鱼皮。前两天模拟面试一位社招两年的老哥,由于他的表现不错,我就临时起意,跟他交流一下我们最近遇到的业务场景问题。问题如下:

最近我们不是做了个 程序员刷题网站 - 面试鸭 嘛,有很多坏人盯上了我们网站,想把我们 4,000 多道面试题、100 多个面试题库的数据都用爬虫抓下来。那我们应该如何防止这种爬虫行为?比如怎么识别出这些非法爬取数据的用户并且自动封号?

整个问题的交流过程大家可以看视频学习:https://www.bilibili.com/video/BV1b142187Tb

下面我就直接把防止爬虫的方法汇总分享给大家,总共有整整 10 种方法!最后一个方法很独特~

如何防止网站被爬虫?

1、使用协议条款

robots.txt 是一个放置在网站根目录下的文件,用于告诉搜索引擎的爬虫哪些部分不希望被抓取。

举个例子,可以在 robots.txt 文件中添加如下规则来禁止特定目录或文件被抓取:

User-agent: *
Disallow: /private/
Disallow: /important/

虽然大多数合规的爬虫会遵守这些规则,但恶意爬虫可能会忽视它,所以,仅凭 robots.txt 不能完全阻止所有爬虫。但它是防护的第一步,起到一个声明和威慑的作用。

可以在网站的服务条款或使用协议中明确禁止爬虫抓取数据,并将违反这些条款的行为视为违法,如果网站内容被恶意爬虫抓取并造成了损害,robots.txt 可以作为违反这些条款的证据之一。

2、限制数据获取条件

比起直接暴露所有数据,可以要求用户登录或提供 API 密钥才能访问特定数据。还可以为关键内容设置身份验证机制,比如使用 OAuth 2.0 或 JWT(JSON Web Tokens),确保只有授权用户能够访问敏感数据,有效阻止未经授权的爬虫获取数据。

3、统计访问频率和封禁

可以利用缓存工具如 Redis 分布式缓存或 Caffeine 本地缓存来记录每个 IP 或客户端的请求次数,并设置阈值限制单个 IP 地址的访问频率。当检测到异常流量时,系统可以自动封禁该 IP 地址,或者采取其他的策略。

需要注意的是,虽然 Map 也能够统计请求频率,但是由于请求是不断累加的,占用的内存也会持续增长,所以不建议使用 Map 这种无法自动释放资源的数据结构。如果一定要使用内存进行请求频率统计,可以使用 Caffeine 这种具有数据淘汰机制的缓存技术。

4、多级处理策略

为了防止 “误伤”,比起直接对非法爬虫的客户端进行封号,可以设定一个更灵活的多级处理策略来应对爬虫。比如,当检测到异常流量时,先发出警告;如果爬虫行为继续存在,则采取更严厉的措施,如暂时封禁 IP 地址;如果解封后继续爬虫,再进行永久封禁等处罚。

具体的处理策略可以根据实际情况来定制,也不建议搞的太复杂,别因此加重了系统的负担。

5、自动告警 + 人工介入

可以实现自动告警能力,比如在检测到异常流量或爬虫行为时,系统能自动发出企业微信消息通知。然后网站的管理员就可以及时介入,对爬虫的请求进行进一步分析和处理。

这点之前也给大家分享过,不止是针对爬虫,企业的线上系统最好接入全方面的告警,比如接口错误、CPU / 内存占用率过高之类的。

6、爬虫行为分析

非法爬虫和正常用户的行为一般是有区别的,爬虫往往遵循特定的访问模式。比如正常用户每道题目都要看一会儿、看的时间也不一样,而爬虫一般是按照固定的顺序、固定的频率来获取题目,很明显就能识别出来。

比如下面这种情况,有可能就是爬虫:

7、请求头检测

每个发送到服务器的请求都有请求头信息,可以通过检查请求头中的 User-Agent 和 Referer 等标识符,对爬虫请求进行拦截。

当然,这招只能防防菜鸟,因为请求头是可以很轻松地伪造的,只要通过浏览器自带的网络控制台获取到响应正常的请求头信息,就可以绕过检测了。

8、自主公开数据

记得大学上信息安全课的时候,学到一个知识点:防止网络攻击的一种方法是,让攻击者的成本大于实际的收益。比如密码 10 分钟有效,破解密码要花 15 分钟,就不会有人去破解。

用到爬虫场景上,我们的做法是,不做任何限制,直接让所有人不登录也能查看到我们网站的题目数据!而且还提供了题目的各种筛选功能、收藏功能。大多数同学只是为了自己学习,这样一来,就没有必要花时间去爬数据了~

9、溯源技术

虽然题目都是公开的,但有些我们专门请大厂大佬们来写的优质题解是仅会员可见的。如果有用户使用爬虫抓取了这部分数据,可就要小心了!一般来说,只要你在一个网站登录了,就一定会有访问记录,如果你泄露了网站登录后才可见的内容、尤其是付费内容,网站管理员一定有办法追溯到你是谁。

比较常用的溯源技术就是水印、盲水印等。对于我们的面试鸭,本身就是通过微信登录的,而且如果你是会员,肯定还有支付记录。这些技术不仅帮助标记数据源,还可以在数据被滥用时追踪其来源,从而增强数据的保护。

10、科普法律

除了上面这些方法外,还可以通过接入反爬服务、接入验证码、增加动态时间戳等方式进一步限制爬虫。但是要记住,爬虫是没有办法完美防御的!因为你无法限制真实的用户,攻击者完全可以模拟真实用户的访问方式来获取你的网站数据,比如找 10 个用户,每人获取几百题。

所以我的最后一个方法是 —— 科普法律。可以在网站上发布明确的法律声明,告知用户未经授权的抓取行为是违法的,可以对爬虫行为起到一定的威慑作用。并且还通过发布视频和文章的方式,让广大程序员朋友们提高法律意识。爬虫是有一定风险的,自己学习倒没问题,但是千万别给人家的网站造成压力了,搞不好就有破坏计算机系统的嫌疑了!

更多

标签:招干,请求,10,网站,可以,爬虫,用户,坏人,数据
From: https://blog.csdn.net/weixin_41701290/article/details/141019407

相关文章

  • 给定一个10GB大小的文件,存储的都是数字,如何对文件中的数字进行排序,并输出新文件?限制内
    背景这是一道面试题,可考察的点也不少。总结几个关键词去解决这个问题,1,文件拆分;2、排序算法;3、缓冲buffer性能优化。啊,乍一看,这绝对不是一个初级程序员能够答出来,且能答得很好的问题,这个题目可以考察到我们的算法能力,性能优化经验。可万万不能马虎对待!开始讲思路。第一步,文件拆......
  • 泛微E-office 10 schema_mysql接口敏感信息泄露漏洞复现 [附POC]
    文章目录泛微E-office10schema_mysql接口敏感信息泄露漏洞复现[附POC]0x01前言0x02漏洞描述0x03影响版本0x04漏洞环境0x05漏洞复现1.访问漏洞环境2.构造POC3.复现泛微E-office10schema_mysql接口敏感信息泄露漏洞复现[附POC]0x01前言......
  • 创新的HR管理工具:大型企业的10款新选择
    本篇文章介绍了以下几个工具:Moka、北森iTalentX、宏景HJSOFT、红海eHR、Bullhorn、智思云、金蝶K/3Cloud、Lever、BreezyHR、KAYANG嘉扬。在寻找适合大型企业的人力资源管理系统时,许多HR管理者都面临着如何在众多选项中做出最佳选择的难题,这不仅关系到企业的运营效率,还直接影......
  • coca saw vs seen 时态搭配对比 1000句
    基于https://www.cnblogs.com/hhdom/p/18351105seen@@the:@@442@@have:@@281@@i:@@270@@in:@@219@@a:@@207ive:205@@and:@@183@@of:@@181@@you:@@170@@#:@@136@@as:@@127@@that:@@127@@to:@@123@@is:@@113@@it:@@112@@be:@@111@@never:@@109@@this:@@107@@&......
  • AP5101C 6-100V 2A LED降压恒流型的线性调光驱动器 台灯手电筒与汽车灯方案
    产品描述AP5101C是一款高压线性LED恒流芯片,外围简单、内置功率管,适用于6-100V输入的高精度降压LED恒流驱动芯片。最大电流2.0A。AP5101C可实现内置MOS做2.0A,外置MOS可做3.0A的。AP5101C内置温度保护功能,温度保护点为130度,温度达到130度时,输出电流慢慢减小,达到保护芯片电路......
  • YOLOv10改进 | 检测头 | 小目标遮挡物性能提升的检测头Detect_MultiSEAM【完整代码】
    秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转......
  • 2024影视泛系统:苹果V10二开影视泛程序与苹果影视泛目录
    ###2024影视泛系统:苹果V10二开影视泛程序与苹果影视泛目录在数字化时代,影视娱乐产业经历了翻天覆地的变化。2024年,随着技术的不断进步,影视泛系统成为了行业的新宠。其中,苹果公司推出的V10二开影视泛程序以及苹果影视泛目录,成为了市场上的焦点。本文将深入探讨这一新兴系统,以......
  • 《DNK210使用指南 -CanMV版 V1.0》第十八章 machine.Timer类实验
    第十八章machine.Timer类实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5......
  • luogu题解:P10456 The Pilots Brothers' refrigerator【缺少 SPJ】
    思路此题题意酷似P10449.费解的开关。https://www.luogu.com.cn/problem/P10449不同之处便是状态连锁改变不同,但做法截然不同,此题是一个\(4\times4\)的矩阵。暴力枚举的复杂度是\(O(10^7)\),即\(2^{16}\times16\times16=16777216\),\(10^7\)的复杂度可以通......
  • 2024年10大ChatGPT AI 搬砖神器【打工族、学生党必备】
    随着ChatGPT的兴起,一大批AI工具随之诞生,其中有很多堪称神器分享10个国内可以使用使用的网站和AI搬砖工具,摸鱼起飞就靠他们了。1: AIPlus【AI对话】推荐指数:⭐️⭐️⭐️⭐️⭐️适合人群:学生党、打工人推荐理由:一个AI综合网站,有多个AI对话和绘画站,每个站点都很流畅且可用2:xie.y......