如何检测* IIS用户*是否已在远程桌面连接中运行该网站

时间:2012-10-04 08:11:33

标签: c# asp.net http remote-desktop

我正在开发一个带有时钟系统的网站,我了解用户是否通过获取他的IP在我的网络中运行该网站:

System.Web.HttpContext.Current.Request.UserHostAddress

问题是,如果用户通过将计算机连接到办公室中的另一台计算机,从家中运行网站。

我需要检测它是否是远程桌面连接。

我尝试了HttpContext.Current.Request.IsLocalSystem.Windows.Forms.SystemInformation.TerminalServerSession,但如果我在远程桌面连接中运行已发布的网站,则会同时返回false。只有当我在本地构建网站时,它们才能正常工作。

任何想法如何处理这种情况?

1 个答案:

答案 0 :(得分:0)

你做不到。客户端的浏览器无法知道它是否在本地访问,所以它无法告诉

更确切地说,浏览器标准或事实上的标准没有指定机制,浏览器通过该机制检测当前会话是否是远程的,并将该信息转发给服务器。

我确信您可以编写一个概念验证浏览器或浏览器插件,它可以满足您的需要,并强制要求您通过此特定程序访问您的网站,但它不安全,可能会惹恼您的用户