在網上找了許久關於僞造UrlReferrer地址資料,也許是搜索的關鍵詞不對吧,仍是內容涉及到了什麼敏感的東西,愣是沒找到,換成自定義UrlReferrer也找不到。通過仔細研究,原來在.NET中要自定義一個UrlReferre,只要設置Referer這個屬性便可,如下是具體實現的代碼。
通常在.NET中都是使用HttpWebRequest 類進行HTTP請求處理,代碼大體以下安全
string strUrl = "shiyousan.com"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl); /* * 只要設置了Referer屬性,向目標發送的UrlReferrer就是Referer的值 * 這裏咱們僞造的Request.UrlReferrer是shiyousan.com */ request.Referer = "http://shiyousan.com"; request.Method = "GET"; request.KeepAlive = false;
其中HttpWebRequest.Referer 屬性就是設置Request.UrlReferrer。
僞造Request.UrlReferrer或者應該說自定義Request.UrlReferrer的用途暫時還想不到哪兒經常使用到,目前惟一想到是在進行惡意攻擊的時候會用到。
若是有在項目中須要測試程序的安全性,能夠自定義Request.UrlReferrer進行測試。在項目中,有些功能須要驗證用戶的請求是否合法,以此來防護那些不經過網站來訪問,而是經過外部程序進行惡意攻擊、請求和盜取網站等非法請求。測試
另外項目中若是根據Request.UrlReferre來判斷請求的URL是不是本網站地址是不許確的,畢竟咱們從上面已經瞭解了Request.UrlReferre是能夠被僞造的網站