日期:2014-05-18  浏览次数:20399 次

关于取IP?
我想统计一下点击数,一个IP只能算一个点击数,但如果同一个局域网共享上网,全部出来只有一个IP,那怎么办?

------解决方案--------------------
关注,学习
------解决方案--------------------
能获取主机名的啊,干嘛不用主机名?一个局域网里的主机名不可能一样啊,
如果怕多个局域网里的主机名重复,你获取的ip + 主机名就可以了。
------解决方案--------------------
取别的,CPU序列号硬盘ID,网卡什么的
C# code
 
private void GetInfo() 
  { 
  string cpuInfo = "";//cpu序列号 
  ManagementClass cimobject = new ManagementClass("Win32_Processor"); 
  ManagementObjectCollection moc = cimobject.GetInstances(); 
  foreach(ManagementObject mo in moc) 
  { 
    cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); 
    Response.Write ("cpu序列号:"+cpuInfo.ToString ()); 
  } 

  //获取硬盘ID 
  String HDid; 
  ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive"); 
  ManagementObjectCollection moc1 = cimobject1.GetInstances(); 
  foreach(ManagementObject mo in moc1) 
  { 
    HDid = (string)mo.Properties["Model"].Value; 
    Response.Write ("硬盘序列号:"+HDid.ToString ()); 
  } 


  //获取网卡硬件地址 
9558821702001755616 
  
  ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); 
  ManagementObjectCollection moc2 = mc.GetInstances(); 
  foreach(ManagementObject mo in moc2) 
  { 
    if((bool)mo["IPEnabled"] == true) 
    Response.Write("MAC address\t{0}"+mo["MacAddress"].ToString()); 
    mo.Dispose(); 
  } 
  }

------解决方案--------------------
附带

 主机名 = Server.MachineName; 

IP地址 = Request.UserHostAddress; 

系统时间 = DateTime.Now.ToString(); 

服务端口 = Request.ServerVariables["SERVER_PORT"]; 

操作系统 = Environment.OSVersion.ToString().Remove(0, 10); 

环境版本 = Request.ServerVariables["SERVER_SOFTWARE"];
------解决方案--------------------
使用mac地址他可以实现 公网IP一样mac地址是不同的
------解决方案--------------------
探讨
取别的,CPU序列号硬盘ID,网卡什么的

C# code
private void GetInfo()
{
string cpuInfo = "";//cpu序列号
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
Response.Write ("cpu序列号:"+cpu…

------解决方案--------------------
一帮人在这里胡说八道!!
什么MAC地址,硬盘序列号,主机名!你以为浏览器端是你自己的机器么?
还给出代码~~~你们也不看看server.MachineName还有ManagementClass这些都是在哪里运行的!

在b/s系统中只有两个方法可以唯一标识一台计算机,并且都不是绝对的,只能大致标识:
1.做一个activeX控件去获取对方机器的主机名,硬盘序列号,MAC地址一类的东西
但是人家浏览器一般都会拦截ActiveX控件,就算不拦截被人家杀毒软件认出是病毒我概不负责。
2.向浏览器端写Cookie,但是cookie会过期并且用户也可以清空Cookie,所以无法保证能够永远都标识出这台机器

B/s结构的系统就是这样的,不要以为跟C/s系统似的啥都能干!