有没有更好的方法来阻止代理/镜像我的网站的人请求资源?

有没有更好的方法来阻止代理/镜像我的网站的人请求资源?

我在 DigitalOcean VPS 上提供一些静态文件和一个 WordPress 博客,并使用 dyn.com 进行 DNS 解析。我注意到我的 Apache (2.4) 访问日志中有如下几行:

xxx.xxx.xxx.xxx - - [20/Jul/2016:22:09:20 +0000] "GET /blog/wp-includes/js/wp-emoji-release.min.js?ver=4.5.3 HTTP/1.1" 304 - "http://unfamiliardomainname.com/blog/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0"

事实证明,unfamiliardomainname.com它镜像了我的网站,但每次有人访问时都会从我的服务器请求文件(这种特定现象有名称吗?)。过滤掉这些行中的所有唯一 IP 后,我注意到它们都指向 Incapsula。果然,当我停止 Apache 并尝试访问时unfamiliardomainname.com/blog,我得到了一个 Incapsula 错误页面。

我将宽容地假设所有者unfamiliardomainname.com可能在我之前就拥有了我的 IP 地址,并且从未从他们的 Incapsula 帐户中删除此 IP 地址(我不确定 Incapsula 是否就是这样运作的,所以如果可能的话,请随时告诉我)。我已经向 Incapsula 报告了这个问题,并使用 屏蔽了违规 IP iptables,但除此之外,我还能做些什么来防止类似的事情再次发生?我使用fail2ban,我正在考虑设置一个过滤器。如果已经存在,我很乐意听听。

答案1

您需要一个热链接保护,您可以使用 Apache mod_rewrite 来实现,这里是图像热链接保护的一个示例: http://www.cyberciti.biz/faq/apache-mod_rewrite-hot-linking-images-leeching-howto/

也许还有一个 Wordpress 插件可以防止这种情况发生,但我没有检查。

相关内容