2

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

System.Web.HttpContext.Current.Request.UserHostAddress

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

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

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

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

4

1 回答 1

0

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

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

我相信您可以编写一个概念验证浏览器或浏览器插件来满足您的需求,并要求对您网站的所有访问都必须通过此特定程序进行,但它不安全并且可能会惹恼您的用户。

于 2012-10-04T08:13:34.577 回答