如果我的网站在www.example.com
运行,但有人通过IP地址访问它。如何在IIS中进行代码查找www.example.com
是实际网站的域名?
答案 0 :(得分:1)
您是否尝试获取www.example.com
的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;
答案 1 :(得分:1)
无法可靠根据IP地址查找域名,因为IP地址可以映射到0个或多个域名。
您可以做的最好的事情是有一个映射列表。请注意,本地网络IP地址和外部IP点也可以指向同一位置。
通常,特定计算机可以由多个IP引用,每个IP都可以由多个域引用。所以你可以去domain > IP address -> machine
而不是相反。