惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
Security @ Cisco Blogs
小众软件
小众软件
D
Docker
博客园_首页
A
About on SuperTechFans
P
Privacy International News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
A
Arctic Wolf
Spread Privacy
Spread Privacy
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Latest news
Latest news
WordPress大学
WordPress大学
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Exploit Database - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
大猫的无限游戏
大猫的无限游戏
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
K
Kaspersky official blog
V2EX - 技术
V2EX - 技术
SecWiki News
SecWiki News
U
Unit 42
GbyAI
GbyAI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LINUX DO - 热门话题
S
Security Affairs
Y
Y Combinator Blog
aimingoo的专栏
aimingoo的专栏
Blog — PlanetScale
Blog — PlanetScale
MongoDB | Blog
MongoDB | Blog
博客园 - 【当耐特】
The GitHub Blog
The GitHub Blog
T
Tenable Blog
W
WeLiveSecurity
Cloudbric
Cloudbric
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
G
Google Developers Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
N
News and Events Feed by Topic
D
DataBreaches.Net
P
Proofpoint News Feed
B
Blog RSS Feed
B
Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org

博客园 - zakun

Gitlab CI 本地开发部署 Golang grpc 实践 Mongo 聚合演示 真・一键激活 JetBrains 全家桶! Kafka 分区细说 解决国内Homebrew安装 Homebrew How to Install PHP Install Elasticsearch with Docke wsl2 网络相关设置 php docker image nginx 反向代理常用设置说明 Golang常见的并发模式 Gin框架的几种热加载方法 协程 Mysql Full-Text Index 介绍 gitlab runner 使用摘要 Gitlab Docker 使用摘要 Docker 简介 linux-查看文件夹大小 Linux 如何删除乱码文件-inode删除 PHP添加$_SERVER服务器环境变量
Nginx反爬虫: 禁止某些User Agent抓取网站
zakun · 2023-05-16 · via 博客园 - zakun

Nginx反爬虫: 禁止某些User Agent抓取网站

网站反爬虫的原因

  • 不遵守规范的爬虫会影响网站的正常使用
  • 网站上的数据是公司的重要资产
  • 爬虫对网站的爬取会造成网站统计数据的污染

常见反爬虫手段

  1. 根据 IP 访问频率封禁 IP
  2. 设置账号登陆时长,账号访问过多封禁
    • 设置账号的登录限制,只有登录才能展现内容
    • 设置账号登录的时长,时间一到则自动退出
  3. 弹出数字验证码和图片确认验证码
    • 爬虫访问次数过多,弹出验证码要求输入
  4. 对 API 接口的限制
    • 每天限制一个登录账户后端 api 接口的调用次数
    • 对后台 api 返回信息进行加密处理

robots.txt 设置

baidu robots.txt
robots.txt是网站与搜索引擎之间不成文的协议,虽然没有明文去规定,但双方都会遵守这个协议。通过robots.txt文件我们可以限制搜索引擎蜘蛛的抓取轨迹
Robots协议用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取;可以屏蔽一些网站中比较大的文件,如:图片,音乐,视频等,节省服务器带宽;可以屏蔽站点的一些死链接
方便搜索引擎抓取网站内容;设置网站地图连接,方便引导蜘蛛爬取页面。

文件写法

  • User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
  • Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录
  • Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录
  • Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录
  • Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。
  • Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址
  • Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片
  • Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。
  • Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录
  • Allow: /tmp 这里定义是允许爬寻tmp的整个目录
  • Allow: .htm$ 仅允许访问以".htm"为后缀的URL。
  • Allow: .gif$ 允许抓取网页和gif格式图片
  • Sitemap: 网站地图 告诉爬虫这个页面是网站地图

假设我们不想网站被搜索引擎收录,我们可以将所有搜索引擎进行屏蔽。可以这样写:

User-agent:*
Disallow:/

如果我们不想某个搜索引擎蜘蛛访问,我们可以这样写,如不允许百度蜘蛛访问:

User-agent:baiduspider
Disallow:/

不允许访问图片

User-agent:*
Disallow:*.jpg$

不允许访问123以后的任何东西

User-agent:*
Disallow:/123/