我正在寻找一种方法来阻止特定的代理,比如这一个:访问在Heroku
http://demosites.conversionsupport.com/reverseproxydemo?domainpath=http://stackoverflow.com
我不希望它在Heroku上访问/显示我的rails 2.3.15应用程序。我已经玩过机架重写和机架块,但没有运气去那条路线,因为我需要阻止域名,而不是IP地址(该东西托管在ghs.google.com,我想而不是块)
在一个完美的世界,我可以重定向到我的规范的网址,但我也想解决一个503或404
(有问题的反向代理是用来炫耀的代理业主的聊天工具应用程序,但在任何网站上,而不是限制使用由代理业主的潜在客户拥有的网站,这也导致谷歌的网站管理员工具来记录一些讨厌的爬行机器人的错误,这本身并没有一个大问题,但是当加上那个破坏网站功能的东西,以及我的网站有一个知识共享许可证这个事实STS网站不得用于商业目的被重用,这让我想制止它。)
感谢您的建议,但从我所看到的看起来像机架重写和机架块,我可以使用机架攻击阻止通过该不良代理查看我的网站的特定客户端,但它似乎没有办法检查浏览器地址栏中显示的完整URL,并根据代理的URL使用而不是我的方式重写或重定向或阻止。或者我可能错过了一些明显的东西,正在凝视着我的脸? – ohsurewhynot
我已经更新了我的答案。我不确定您是否可以在Rack请求对象上使用#referrer? – jordelver
感谢您的新建议,但这是针对公共场所的。唯一的登录是管理员。不知何故,糟糕的代理完全不在日志中留下引用条目。 但是,我有一个想法,试试这个: http://demosites.conversionsupport.com/reverseproxydemo?domainpath=http://showmemyip.com 并发现它报告该代理的IP地址,而是比我以前错误地认为的用户的IP地址。毕竟我可能会使用机架式攻击(如果我可以弄清楚如何让他们在/ public中的文件以及从/ app提供的页面上工作)。 – ohsurewhynot