2013-03-10 66 views
-2

因此,对于某些审计目的,我应该跟踪连接到托管的Web应用程序的用户的以下详细信息。如何在ASP.NET中获取用户环境详细信息

  • 操作系统:
  • 浏览器:
  • 预估的位置:
  • 服务Provier:
  • 域:
  • IP地址:
  • 计算机名:
  • 用户名

要获得IP地址,MeachineName,用户名我试着用下面的代码。

var userIpAddress = HttpContext.Current.Request.UserHostAddress; 
var MachineName = HttpContext.Current.ApplicationInstance.Server.MachineName; 
var UserName = HttpContext.Current.User.Identity.Name; 

编辑:

var Browser = Request.Browser.Browser; 
var OperatingSystem = Request.Browser.Platform; 

那么如何获得剩余的字段值?

+0

谷歌肯定可以回答这个问题。这个问题基本上是五个“我如何确定X关于用户?”在一个问题,你应该分别研究他们,然后回来更具体的问题。 – millimoose 2013-03-10 12:57:27

+0

我认为客户端脚本可以比操作系统和浏览器更可靠地获得比服务器端代码更好的东西,因此您可以通过JavaScript获取这些脚本并通过AJAX请求发送给服务器以便记录。 – 2013-03-10 13:00:08

+0

正如@Darin在下面总结的那样,您无法获得大部分这些参数,没有任何假设。我可以使用curl脚本来取消你的网站,欺骗你的网络服务器,使得用户代理是合法的。隐私法也是你应该看的东西。 – 2013-03-10 13:06:26

回答

1

那么如何获得剩余的字段值呢?

你不行。这些值不会作为HTTP请求的一部分发送到您的服务器。

不要被愚蠢地认为HttpContext.Current.ApplicationInstance.Server.MachineName为您提供客户端的机器名称。这给你的服务器的机器名称。您无法获取客户端的机器名称。

+1

操作系统的'Request.Browser.Platform'如何? – 2013-03-10 12:55:46

+0

完全不可靠。这些信息可能会或可能不会从客户端发送。 – 2013-03-10 12:56:09

+0

感谢您的澄清。 – 2013-03-10 12:56:53

相关问题