反爬虫记录

简介: 问题网络黑产猖獗,爬虫便是其手段之一。爬虫爬取你辛苦运营的用户、客户数据,以低廉的价格将其出售。这会极大伤害用户隐私,更让用户对产品失去信任,危害绝对不容小觑。

问题

网络黑产猖獗,爬虫便是其手段之一。爬虫爬取你辛苦运营的用户、客户数据,以低廉的价格将其出售。这会极大伤害用户隐私,更让用户对产品失去信任,危害绝对不容小觑。对于很多互联网公司,信息甚至是其核心资产。所以无论是为保护用户隐私,亦或自身利益,防爬虫都志在必行。

不那么有效的手段

  1. 针对请求的useragent,refer等做限制。这些字段可以通过抓包工具随意修改,对于有心之人基本无效

比较有效的手段

反爬虫没有确定的方法,但有相对确定的原则:在对正常用户干扰最小的情况下最大限度地提高爬虫成本

需要明确爬虫和人类的区别,并针对这些区别制定方案。通常的做法有(成本从低到高):

后端:

  1. 限制ip、账号、接口频率,尤其是敏感数据接口(用户信息、客户信息、订单、收藏夹等),限制维度要多。
  2. 返回假数据迷惑爬虫
  3. 设置爬虫陷阱,如正常访问看不到的链接
  4. 维护一份账号、ip、代理等的黑名单
  5. 根据具体业务分析访问行为是否合理

前端:

1.前端代码安全的情况下(如app混淆),做相关加密(MD5,nonce防重复攻击),验证请求
2.各种验证码

当然,反爬逻辑越复杂,成本也越高,需要酌情考虑。

参考

https://www.zhihu.com/question/26221432

目录
相关文章
测试方案有点难?ChatGPT助你轻松编写测试方案!
使用ChatGPT辅助编写测试方案,以高级搜索功能为例,涉及关键词搜索、过滤条件、界面兼容性、错误处理等测试点。首先明确测试需求,如按作者、时间范围和分类搜索,产品形态为App和Web应用。然后,通过提示词逐步细化方案,包括App的移动设备适配、耗电量和内存占用测试。通过不断优化提示词,确保测试方案全面覆盖功能性能、用户体验及专项测试内容。
|
存储 Serverless
MATLAB实战 | 梯形积分法
在科学实验和工程应用中,函数关系往往是不知道的,只有实验测定的一组样本点和样本值,这时就无法使用integral函数计算其定积分。
721 1
|
设计模式 UED
二十三种设计模式:解锁软件开发的神器:命令模式与撤销重做功能
二十三种设计模式:解锁软件开发的神器:命令模式与撤销重做功能
300 0
设置VSCode运行任务命令快捷键Alt+R,通常用于npm start(对频繁使用该命令可节省50%的输入命令行打字时间)
设置VSCode运行任务命令快捷键Alt+R,通常用于npm start(对频繁使用该命令可节省50%的输入命令行打字时间)
|
开发框架 供应链 JavaScript
一个简单、功能完整的开源WMS​仓库管理系统
一个简单、功能完整的开源WMS​仓库管理系统
1059 0
|
9月前
|
供应链 搜索推荐 数据可视化
《电商管理:精准营销与客户忠诚度培育》
本文概述了电商管理的重要性和关键领域,包括供应链管理、客户关系管理、数据管理和营销推广管理。文章指出,有效的电商管理能帮助企业应对激烈的市场竞争、多变的消费者需求和技术快速更新等挑战,实现高效运营和可持续发展。特别介绍了“板栗看板”这一创新工具,强调其在提升电商管理效率方面的显著作用。
《电商管理:精准营销与客户忠诚度培育》
|
11月前
|
JavaScript
Node.js GET/POST请求
10月更文挑战第6天
133 2
Node.js GET/POST请求
|
11月前
|
JavaScript 前端开发 开发者
探索JavaScript原型链:深入理解与实战应用
【10月更文挑战第21天】探索JavaScript原型链:深入理解与实战应用
186 1
|
前端开发 Java 数据库
Java一分钟之-Spring WebFlux:响应式编程
【6月更文挑战第16天】Spring WebFlux是Spring Framework 5中的非阻塞Web框架,采用Reactor和响应式编程,支持在Netty等服务器上运行。它提供非阻塞IO和函数式路由,提升并发性能。常见问题包括阻塞操作误用、背压处理不当和对响应式编程理解不足。通过代码示例展示了如何设置路由和处理器函数。学习和实践Spring WebFlux有助于开发高性能Web应用。
508 8
|
存储 人工智能 算法
程序与技术分享:7z命令行压缩解压详解
程序与技术分享:7z命令行压缩解压详解