我的网站受到垃圾邮件机器人和 scrappers 的严重打击。我用过 Cloudflare,但问题仍然存在。问题是 spambots 访问不存在的 url 导致大量负载到我的 drupal 后端,它一直运行并且 bootstraps db 只是为了提供 404 错误文档。
我不能简单地为所有页面未找到错误抛出非 drupal 404,因为我需要让 drupal 捕获它们。因为,清漆在前面,它可以检查机器人是否表现良好并询问有效的 url - 如果不是,它会为它们提供 404 或 403。这些机器人使用这种模式导致错误:
http://www.megaleecher.net/http:/www.megaleecher.net/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_S/Using_iPhone_As_USB_Mass_Storage
现在,请。建议一个正则表达式 varnbisg VCL 指令,该指令捕获此 URL 模式并从 varnish 提供 404 错误,阻止它到达 apache/drupal ?
您是否尝试过寻找以 /http 开头的 url 路径?
您是否考虑过对 404 进行缓存?为了使用正则表达式阻止这些,您需要使 VCL 和后端保持同步以避免阻止有效的 URL。如果您只是缓存 404 很长一段时间,您仍然需要从后端为每个 URL 加载一次,但后续请求将获得缓存的 404 页面。如果您曾经将真实内容添加到具有缓存 404 响应的 URL,则可以进行手动清除。
“我的网站受到垃圾邮件机器人和刮刀的严重打击,”
它们来自相同的 IP 吗?您是否尝试过阻止 IP 地址?