我正在尋找一種方法來阻止特定的代理,比如這一個:訪問在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