随便看看

我的爬虫插件遇到瓶颈了,求解(权限相关)

[Ar]3d^{6}4s^22021/11/16 12:31:06


爬虫每次爬取时都会获取帖子内容并对数据库中的同一内容进行覆盖,原因是帖子可能会被编辑,从而需要更新数据库里的内容。

这在我自己爬取的时候没有任何问题,因为爬虫和数据库都在我手上。公开出来的那个数据库账号是只读的,影之避难所网页用的那个数据库账号也是。然而,当我试图开发一个油猴脚本实现分布式爬取时,问题出现了:理论上,服务端无法对插件提交的内容进行任何验证(因为我的爬虫需要浏览器,而且还不能是无头浏览器,因为需要手动登录),因此,客户端可以通过伪造请求(比如伪造帖子内容)的方式对数据库进行篡改。

现在能想到的有几个方案,一是在服务器端存储一份用户名hash的白名单,爬虫爬取时一并提取当前用户名到服务端,服务端比较两个hash,只允许在白名单中的用户提交请求。二是做一个多用户认证机制,同一个页面要被两个以上用户各提交一次才存进数据库。你们觉得哪个更好?或者有没有更妙的方案?


三明治2021/11/17 06:09:03

做个签名
(1)

[Ar]3d^{6}4s^2楼主2021/11/16 12:44:31

哦对,服务端存用户名hash是为了防止数据泄露造成脚本使用者的身份暴露。