我目前是开发一个应用程序的团队的一员,该应用程序包括前端客户端。
通过这个客户端,我们发送用户数据,每个用户都有一个用户 ID,客户端通过 RESTful API 与我们的服务器对话,向服务器请求数据。
例如,假设我们有一个书籍数据库,用户可以获取作者最近写的 3 本书。我们重视用户的时间,我们希望用户无需明确注册即可开始使用该产品。
我们重视我们的数据库,我们使用自己的专有软件来填充它,并希望尽可能地保护它。
所以基本上问题是:
我们可以做些什么来保护自己免受网络抓取?
我非常想了解一些保护我们数据的技术,我们希望防止用户在作者搜索面板中输入每个作者的姓名并取出每个作者写的前三本书。
任何建议的阅读将不胜感激。
我只想提一下,我们了解验证码,并希望尽可能避免使用它们
防止这种情况的主要策略是:
- 需要注册,因此您可以限制每个用户的请求
- 注册和非注册用户的验证码
- IP 速率限制
- 需要 JavaScript - 编写一个可以读取 JS 的抓取工具更难
- 机器人阻止和机器人检测(例如请求率、隐藏链接陷阱)
- 数据中毒。放入没人想要的书籍和链接,这会阻止盲目收集所有内容的机器人的下载。
- 突变。经常更换模板,以免爬虫找不到想要的内容。
请注意,您可以非常灵活地使用验证码。
例如:每个IP每天的第一本书不受验证码保护。但为了访问第二本书,需要解决验证码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)