如果获取用户电脑的唯一标识

xiaoji213 2009-07-28 11:18:49
各位大虾好:
我现在要做一个页面 首页获取一个用户电脑的唯一标识 ,如果只是IP:Page.Request.UserHostAddress.ToString();
这样 在同一个局域网下面的对外ip都是一样的不能区分用户,请问如何能获取一个唯一标识? 请各位大虾多多指点小弟一下。不胜感激
...全文
972 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DeanZwh 2009-11-09
  • 打赏
  • 举报
回复
一楼
xuwang504315 2009-09-01
  • 打赏
  • 举报
回复
那么唯一标识一个机器的话,硬件方面随时可以更换换了还得重新得一次。我现在也遇到一个这样的问题,如果不考虑硬件,从系统方面来考虑如何标识,如果得开机时间呢?
xiaoji213 2009-07-28
  • 打赏
  • 举报
回复
我同意楼上的说法。 看来只能生成一个随机数,来标识用户 在把这个随机数存在session中。
winner2050 2009-07-28
  • 打赏
  • 举报
回复
说了半天还是用IP来取得Mac 这个肯定是错误的了,又绕回了先前IP无法成为用户唯一标识的问题。

就算防火墙不制止远程探测Mac,那么也只能得到路由器的mac地址而已。
winner2050 2009-07-28
  • 打赏
  • 举报
回复
处于安全问题,估计无法取得MAC地址。

防火墙不会让外部随便连接进来探测硬件信息。
地下室小红叔 2009-07-28
  • 打赏
  • 举报
回复
以下为转帖:

[DllImport("Iphlpapi.dll")] 
private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);
[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip);

static private Int64 getRemoteMAC(string localIP, string remoteIP)
{
Int32 ldest= inet_addr(remoteIP); //目的地的ip
Int32 lhost= inet_addr(localIP); //本地服务器的ip

try
{
Int64 macinfo = new Int64();
Int32 len = 6;
int res = SendARP(ldest,0, ref macinfo, ref len);
return macinfo;
}
catch(Exception err)
{
Console.WriteLine("Error:{0}",err.Message);
}
return 0;
}



如何获得System.Management?
引用下 System.Management 这个.net组件就行了.
提示: 类型或命名空间名称“Management”在类或命名空间“System”中不存在(是否缺少程序集引用?)——怎么回事?
“添加引用”-->“.NET组件”-->找到System.Management.dll组件。按引用即可拉。
绿绦 2009-07-28
  • 打赏
  • 举报
回复
获取mac地址
就可以了

代码参见:http://www.lvtaostudio.com/2009/0728/235.html

绿绦工作室
bigmingming 2009-07-28
  • 打赏
  • 举报
回复
以下有几个关于如何得到mac地址的连接,你可以参考一下:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=391&lngWId=10
http://www.codeguru.com/Cpp/I-N/network/networkinformation/article.php/c5437/
http://www.codeguru.com/Cpp/I-N/network/networkinformation/comments.php/c5451/

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧