我正在研究你的基本反水蛭(黑名單品種)。我在日誌中獲得這些推薦人,但是當我嘗試訪問Request.UrlReferrer
時,它是null
。所以是Request.ServerVariables("HTTP_REFERER")
推薦人被記錄,但HttpReferrer爲空
下面是一個引用的例子。這些都顯示在IIS日誌文件中,但隨着請求的進入,我無法在後面的代碼中訪問它以根據我的黑名單進行檢查。
http://www.pinsdaddy.com/cambria-california-wedding-photography-18-mirrors-edge_cJ8jn4pAJmKSlbTCSdOcIvct6EKJC1hNE9RvlPVWmmc3iL7RWbE8NWPK2e3AlHufGJ5Y4wEz0KwkTr5tdCFtuA/HU*r3vNj3fj*lmybrtHKWHIaJbhl%7CrPNYEBp5h1LLrgiOrQqUd1yFlcQ4zk2Fg92M72f*uRfYUoZ5yXmlQZOG7*Zo6iLIcxD1tBIqMGCECNyCYSstZQN4HOcXTJocIDYNEftok4Anz4aQVpSK0CYVtVI7pYG51JUH3TWgg0KEUQRZd5ZF8UI4qQ5tseiERUk7gsHebxA3eF1LCFjrZ4PHw/
由於我登錄這個討厭的東西,我想不通爲什麼它不在我的HTTP模塊可用。每個其他網站鏈接的圖像都很好 - 只是不是這個特別討厭的。
我試過各種方法。 Request.UrlReferrer.AbsoluteUri
,Request.UrlReferrer.Host
等
string referrer = "Empty Referrer";
HttpContext context = ((HttpApplication)sender).Context;
if (context.Request.UrlReferrer != null)
{
referrer = context.Request.UrlReferrer.AbsoluteUri;
}
我開始懷疑,如果在引用值的字符組合在.NET地方炸燬。 IIS得到它很好,所以我應該能夠在代碼中訪問它。
注 - 這些是http到http請求。沒有SSL。
是的,我現在實際上正在嘗試。使用rewriteMaps,你的方法比我見過的其他方法簡單一些。我會試一試 - 謝謝你! – Ripside
接受這個答案,儘管它不能幫助我處理引用鏈接中的格式不正確的URI,但這確實有效。再次感謝! – Ripside
如果你想處理格式不正確的uri,你可以試試模式上的正則表達式。那麼您將需要更改patternSyntax =「ECMAScript」,並修改和模式 –