【发布时间】:2011-05-24 18:37:01
【问题描述】:
如果我有一个在 www.example.com 运行的网站,但有人通过 IP 地址访问它。如何在 IIS 中查找 www.example.com 是实际站点的域的代码?
【问题讨论】:
-
一个 ASP.NET 应用程序对它所在的容器的配置一无所知。要访问 IIS 配置,您的 ASP.NET 应用程序需要以提升的权限运行,这是一个巨大的禁忌,更不用说错误的方式去做你想做的事了。您应该做的是重定向通过其规范名称以外的任何其他方式访问该站点的任何请求。那么你就不用担心这个了。请详细说明您认为有必要这样做的原因。
-
你必须更具体。你说的是“如果有人说“嘿你”,我怎么知道我的名字?你当然知道你的名字,你的网站也应该知道它的名字。你的问题表面上没有多大意义,除非你还有什么没说的。
-
是的,我就是这么想的。这是一个许可问题,允许通过域名访问站点,但如果有人通过 IP 地址访问该站点,则无法找到域名,因此许可失败。
-
在这种情况下,客户有责任确保所有请求都经过规范化或为其他域购买单独的许可证。 SiteFinity(我相信还有很多其他的)使用按域许可模型,同样的问题也适用于他们的东西。