發送請求時,在請求頭的 Host 欄位設定其它域名后,用 Request.Url 獲取到的鏈接中的域名變成了 Host 欄位設定的域名,而且在本地開發時沒有這個問題,發布到服務器上才會這樣,這是怎么回事,應該怎么解決?
uj5u.com熱心網友回復:
我記得Host 欄位,是由瀏覽器自動加的 你不能改的uj5u.com熱心網友回復:
Request物件是用戶請求的集合,你告訴我你要怎么修改用戶請求?那是用戶請求抵達你服務器端后服務器端總結出來的請求物件。
uj5u.com熱心網友回復:
不是我要修改用戶請求啊,我的意思是,假設有人惡意發送請求,他修改了 Host 欄位,我在服務器想用 Request.Url 獲取當前域名時,就會獲取到他設定的 Host,而不是請求本身的域名,我想知道為什么會這樣,要怎樣獲取正確的域名
比如說,請求這個地址 www.xxx.com/a,然后請求頭的 Host 改為 www.yyy.com;
然后在服務器呼叫 Request.Url,得到的是 www.yyy.com/a
uj5u.com熱心網友回復:
我記得Host 欄位,是由瀏覽器自動加的 你不能改的
請求不一定是瀏覽器發的啊,用 postman,或者寫個程式來發,想怎么改都行啊
uj5u.com熱心網友回復:
我記得Host 欄位,是由瀏覽器自動加的 你不能改的
請求不一定是瀏覽器發的啊,用 postman,或者寫個程式來發,想怎么改都行啊
uj5u.com熱心網友回復:
你試試改了你還能收到請求嗎?
我記得Host 欄位,是由瀏覽器自動加的 你不能改的
請求不一定是瀏覽器發的啊,用 postman,或者寫個程式來發,想怎么改都行啊
試過啦,不然我為什么會有這個問題。。。
uj5u.com熱心網友回復:
你試試改了你還能收到請求嗎?
我記得Host 欄位,是由瀏覽器自動加的 你不能改的
請求不一定是瀏覽器發的啊,用 postman,或者寫個程式來發,想怎么改都行啊
試過啦,不然我為什么會有這個問題。。。
那是針對瀏覽器端的請求,你用httpwebrequest 想發什么都可以,頭部只是一個集合,發什么隨意,只是瀏覽器端 對你限制了某個欄位,不然怎么會出現請求可以偽造呢,所以 你不要太依賴這些東西
uj5u.com熱心網友回復:
你試試改了你還能收到請求嗎?
我記得Host 欄位,是由瀏覽器自動加的 你不能改的
請求不一定是瀏覽器發的啊,用 postman,或者寫個程式來發,想怎么改都行啊
試過啦,不然我為什么會有這個問題。。。
那是針對瀏覽器端的請求,你用httpwebrequest 想發什么都可以,頭部只是一個集合,發什么隨意,只是瀏覽器端 對你限制了某個欄位,不然怎么會出現請求可以偽造呢,所以 你不要太依賴這些東西
我沒有依賴 Host 欄位啊,相反我想無視它,我想從 Request.Url 里獲取當前請求的域名,可是得到的總是Host欄位的域名,我想知道有什么辦法可以準確無誤地得到當前請求的域名
uj5u.com熱心網友回復:
HttpWebRequest 有 Host 屬性的。uj5u.com熱心網友回復:
https://docs.microsoft.com/en-us/dotnet/api/system.net.httpwebrequest.host?view=netframework-4.7.2#System_Net_HttpWebRequest_Hostuj5u.com熱心網友回復:
發送請求時,在請求頭的 Host 欄位設定其它域名后,用 Request.Url 獲取到的鏈接中的域名變成了 Host 欄位設定的域名,而且在本地開發時沒有這個問題,發布到服務器上才會這樣,這是怎么回事,應該怎么解決?
Request物件是用戶請求的集合,你告訴我你要怎么修改用戶請求?那是用戶請求抵達你服務器端后服務器端總結出來的請求物件。
不是我要修改用戶請求啊,我的意思是,假設有人惡意發送請求,他修改了 Host 欄位,我在服務器想用 Request.Url 獲取當前域名時,就會獲取到他設定的 Host,而不是請求本身的域名,我想知道為什么會這樣,要怎樣獲取正確的域名
比如說,請求這個地址 www.xxx.com/a,然后請求頭的 Host 改為 www.yyy.com;
然后在服務器呼叫 Request.Url,得到的是 www.yyy.com/a
你試試改了你還能收到請求嗎?
我記得Host 欄位,是由瀏覽器自動加的 你不能改的
請求不一定是瀏覽器發的啊,用 postman,或者寫個程式來發,想怎么改都行啊
試過啦,不然我為什么會有這個問題。。。
那是針對瀏覽器端的請求,你用httpwebrequest 想發什么都可以,頭部只是一個集合,發什么隨意,只是瀏覽器端 對你限制了某個欄位,不然怎么會出現請求可以偽造呢,所以 你不要太依賴這些東西
我沒有依賴 Host 欄位啊,相反我想無視它,我想從 Request.Url 里獲取當前請求的域名,可是得到的總是Host欄位的域名,我想知道有什么辦法可以準確無誤地得到當前請求的域名
Request 里面的屬性 就是靠頭部帶過去的,服務器本來就不知道誰是誰 都是靠頭部帶過去才分清楚的,這樣說還不明白嗎
uj5u.com熱心網友回復:
發送請求時,在請求頭的 Host 欄位設定其它域名后,用 Request.Url 獲取到的鏈接中的域名變成了 Host 欄位設定的域名,而且在本地開發時沒有這個問題,發布到服務器上才會這樣,這是怎么回事,應該怎么解決?
Request物件是用戶請求的集合,你告訴我你要怎么修改用戶請求?那是用戶請求抵達你服務器端后服務器端總結出來的請求物件。
不是我要修改用戶請求啊,我的意思是,假設有人惡意發送請求,他修改了 Host 欄位,我在服務器想用 Request.Url 獲取當前域名時,就會獲取到他設定的 Host,而不是請求本身的域名,我想知道為什么會這樣,要怎樣獲取正確的域名
比如說,請求這個地址 www.xxx.com/a,然后請求頭的 Host 改為 www.yyy.com;
然后在服務器呼叫 Request.Url,得到的是 www.yyy.com/a
你試試改了你還能收到請求嗎?
我記得Host 欄位,是由瀏覽器自動加的 你不能改的
請求不一定是瀏覽器發的啊,用 postman,或者寫個程式來發,想怎么改都行啊
試過啦,不然我為什么會有這個問題。。。
那是針對瀏覽器端的請求,你用httpwebrequest 想發什么都可以,頭部只是一個集合,發什么隨意,只是瀏覽器端 對你限制了某個欄位,不然怎么會出現請求可以偽造呢,所以 你不要太依賴這些東西
我沒有依賴 Host 欄位啊,相反我想無視它,我想從 Request.Url 里獲取當前請求的域名,可是得到的總是Host欄位的域名,我想知道有什么辦法可以準確無誤地得到當前請求的域名
Request 里面的屬性 就是靠頭部帶過去的,服務器本來就不知道誰是誰 都是靠頭部帶過去才分清楚的,這樣說還不明白嗎
可是我在開發環境除錯是可以得到正確的域名的,發布服務器后就不行了,不知道為什么
uj5u.com熱心網友回復:
HttpWebRequest 有 Host 屬性的。
嗯,這個知道,但得到的也是一樣的結果
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/128649.html
標籤:ASP.NET
