Asp.net ajax 在ASP.Net中从客户端访问信息
我有一个ASP.Net网站,在那里我想能够知道以下关于浏览我网站的人的事情Asp.net ajax 在ASP.Net中从客户端访问信息,asp.net-ajax,client-side,Asp.net Ajax,Client Side,我有一个ASP.Net网站,在那里我想能够知道以下关于浏览我网站的人的事情 已登录操作系统的用户名 精确的操作系统(操作系统的类型-Windos、Mac等:操作系统的版本) Mac地址 客户端机器的IP地址 我的网站是一个高度安全的网站,如果需要访问网站,我可以让用户访问所有activex和/或一些小程序 请帮我找到最好的方法。1-登录操作系统的用户名 这仅在使用WIndows窗体作为身份验证方法时可用,如果使用窗体,则可以通过其登录帐户轻松获取其名称/用户 2-精确的操作系统(操作系统类型-W
请帮我找到最好的方法。1-登录操作系统的用户名 这仅在使用WIndows窗体作为身份验证方法时可用,如果使用窗体,则可以通过其登录帐户轻松获取其名称/用户 2-精确的操作系统(操作系统类型-Windos、Mac等:操作系统版本) 我们称之为,您可以在javascript中使用:
navigator.userAgent
3-Mac地址
您只能获取您自己的服务器的Mac地址,即您托管网站的服务器的Mac地址,并且您可以获取服务器所拥有的网络设备的数量,请记住,Mac地址不是唯一的
4-客户端计算机的IP地址
只有javascript无法实现这一点,您需要使用您的编程语言来获得真正的IP地址:
string ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if(ip == "") {
ip = Request.ServerVariables["REMOTE_ADDR"];
}
总之,使用jQuery非常简单:
<%
string ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if(ip == "") { ip = Request.ServerVariables["REMOTE_ADDR"]; }
%>
<script type="text/javascript">
$(function() {
var ipAddress = '<% = ip %>',
browser = navigator.userAgent,
username = <% = Session["username"] %>;
// now send the data back to your server, if using jQuery, just do:
$.get("/login-user.aspx", {
ip: ipAddress,
browser: browser,
user: username
}, function(data) {
// use this if you return anything as a response
});
});
</script>
$(函数(){
变量ipAddress=“”,
browser=navigator.userAgent,
用户名=;
//现在将数据发送回服务器,如果使用jQuery,只需执行以下操作:
$.get(“/login user.aspx”,{
ip:ip地址,
浏览器:浏览器,
用户:用户名
},函数(数据){
//如果您返回任何内容作为响应,请使用此选项
});
});
然后,您可以使用API解析用户代理字符串,或使用
导航器
对象从浏览器(或任何第三方库)获取所需内容。在您对登录操作系统用户名的响应中,真实获取此信息的唯一方法是使用NTLM作为服务器身份验证,并使两台计算机位于同一域上。即使启用了NTLM,如果机器位于单独的域上,将显示单独的身份验证框并提供新凭据。