如果我有一個網站運行在www.example.com
,但有人通過IP地址訪問它。我怎樣才能在IIS中的代碼查找www.example.com
是真正的網站的域名?Asp.NET獲取當前域名
回答
這是不可能的可靠查找域基礎上,因爲IP的IP地址地址可以映射到0個或更多域名。
你可以做的最好的是有一個映射列表。請注意,本地網絡IP地址和外部IP點也可能位於同一位置。
通常,一臺特定的機器可以被多個IP引用,每個IP可以被幾個域引用。所以你可以去domain > IP address -> machine
但不是相反。
您想知道www.example.com
的IP地址嗎?你可以比較這些IP嗎?
您可以通過執行獲得www.example.com
的IP:
System.Net.Dns.GetHostEntry("www.example.com").AddressList[0].ToString();
然後,您可以比較IP地址,看看他們是相同的。還要注意的是有一個列表,以便您可以檢查,看看是否存在:
bool ipMatch = (System.Net.Dns.GetHostEntry("www.example.com").
AddressList.Where(a => a.ToString().Equals(userIP)).Count() > 0);
你可以使用Contains
但你必須要建立一個IPAddress
對象,你可能沒有。
編輯:從您的評論你的IP地址,要把主機地址,這樣只是做:
string hostname = System.Net.Dns.GetHostEntry(yourIPHere).HostName;
如果我從asp.net獲取當前域名時,用戶通過ip點擊該網站,我得到了ipaddress,但我想要的是實際所以如果我得到http://22.23.24.25/Default.aspx,我想知道它真的是http://www.bob.com/Default.aspx。 – 2011-05-24 18:50:13
爲什麼你甚至需要看在主機名?你應該已經知道你是bob.com。你唯一不會的是,如果是的話一個用戶可配置的域名,如CMS或其他通用應用程序,在這種情況下,您需要一些配置條目來告訴它你的名字是什麼。 – 2011-05-24 18:54:30
@Mystere Man我學會了永遠不要問爲什麼......每個人似乎都有理由去做任何事情;) – Kelsey 2011-05-24 18:56:11
- 1. 如何在ASP.NET中獲取當前域名
- 2. 獲取當前用戶名
- 3. 獲取當前列名
- 4. 獲取當前用戶名
- 5. 獲取當前MembershipProvider名稱
- 6. ASP.NET MVC - 在視圖或控制器中獲取當前區域名稱
- 7. 獲取當前頁面網址並將域名替換爲域名
- 8. ASP.NET中獲取當前域的最佳方法是什麼?
- 9. 獲取ASMX中的當前域
- 10. Php:獲取當前區域的時間
- 11. 獲取ICU的當前區域設置
- 12. PHP:從當前URL獲取域名後的路徑
- 13. 如何使用座標獲取當前區域名稱?
- 14. 在Typescript中獲取Chrome的當前域名
- 15. Django:從信號中獲取當前域名(http_host)
- 16. 如何獲取當前請求的域名?
- 17. 使用Javascript獲取當前域名(不是路徑等)
- 18. 如何使用Python/GAE獲取當前域名?
- 19. 在ASP.NET Application_End事件上獲取域名
- 20. ASP.Net MVC獲取區域名稱
- 21. 獲取域名
- 22. 獲取域名
- 23. 獲取用戶名和域名(域\用戶)在ASP.Net C#
- 24. 移出當前域名
- 25. 查看當前域名
- 26. 獲取當前登錄用戶名asp.net沒有c#
- 27. 如何從ASP.Net網站獲取當前圖像名稱?
- 28. 獲取在asp.net mvc的當前目錄
- 29. Asp.Net GridView獲取TemplateField上的當前行
- 30. 獲取GridView的從當前行中ASP.NET
ASP.NET應用程序不知道它託管的容器的配置。要訪問IIS配置,您的ASP.NET應用程序需要以提升的權限運行,這是一個巨大的禁止,更不用說提出你想要做什麼的錯誤方式了。你應該做的是重定向訪問該網站的任何請求,而不是其規範名稱以外的任何請求。那麼你不必擔心這一點。請詳細描述爲什麼你覺得有必要這樣做。 – Chris 2011-05-24 18:51:44
是的,這就是我的想法。這是一個許可問題,允許通過域名訪問網站,但如果有人通過IP地址訪問該網站,則無法找到域名,因此許可失敗。 – 2011-05-24 19:15:23
你將不得不更具體。你說的是「如果有人說」你好「,我怎麼能知道我的名字?當然你知道你的名字,你的網站也應該知道它的名字。你的問題在表面上沒有太多意義,除非有什麼更多的你沒有說 – 2011-05-24 18:52:31