我们有一个可搜索的数据库(DB),我们将结果限制为每页 15 条,并且只有 100 条结果,但仍然会吸引人们尝试刮网站。
我们正在禁止那些访问速度足够快的网站。我想知道我们还能做些什么。也许可以用 Flash 渲染结果?
答案1
您可以通过 AJAX 检索记录并使用身份验证 ID(如 API 密钥)进行 AJAX 调用,从而使其变得更加困难。
当然,您可以通过读取 ID 然后使用该 ID 发出 AJAX 请求来解决这个问题。
正如您所指出的,使用 Flash 渲染是一种替代方法(尽管仍然不是 100% 不可抓取),以 PDF 形式渲染也是如此。
答案2
既然您的数据库显然有需求,您是否考虑过扭转局面,提供爬虫者想要的东西?与爬虫者建立业务联系,并鼓励他们适当使用 API?
答案3
有一些很好的信息如何阻止脚本编写者每秒数百次攻击你的网站?
答案4
如何设置身份验证(也许是验证码)、跟踪使用情况并在给定的时间段内限制对一定数量的记录或搜索的访问?