我正在制作一个EventLog,它将在我的网站上记录交易日志。日志的详细信息将包括事务所在的公共IP以及本地IP地址(在公共IP下)。
我找到了获取公共IP地址的方法,但我无法找到交易所在地的本地IP或机器IP。
大量条目将由使用相同连接的人完成。即连接到同一连接的5台或10台计算机。
我需要找到进行交易的机器的机器IP(192.168.0.1用于下一个系统192.168.0.2)以及计算机名称......
这可能吗
答案 0 :(得分:4)
为了澄清,当客户端通过路由器连接时,您需要客户端的私有IP地址吗?然后不,没有办法做到这一点。
你这样做是为了区分不同的用户吗?
你能使用像cookies这样的其他方法吗?
答案 1 :(得分:1)
如果您的客户端从NAT或防火墙后面连接,则无法可靠地获取其地址或计算机名称。如果您需要此类信息,那么您的协议应该作为请求的一部分请求它们,并且客户机应该自愿提供它们。无法验证所提供的信息(缺少部署受信任的加密基础结构,即您在客户端计算机本身中建立了强大的信任)。
答案 2 :(得分:1)
答案 3 :(得分:0)
答案 4 :(得分:0)
嗯,是的,我们这样做只是为了区分计算机以了解谁在进行输入......
既然你们说跟踪IP不是很可靠,还有其他方法可以用来做同样的事情
我只需知道输入每个条目的计算机。
欢迎任何建议
答案 5 :(得分:0)
您假设有一种方法可以知道从哪台计算机输入每个条目。没有人能确保这些信息存在。通常,它不会存在。
确保每台计算机唯一标识的唯一方法是让您识别它。例如,您可以通过客户端证书执行此操作。通常,如果您希望每台计算机都具有唯一标识符,则需要创建唯一标识符,然后将其放在该计算机上。然后,您需要计算机将该标识符发回。
计算机没有其他唯一标识符。
答案 6 :(得分:0)
这可能超出了你想要的范围,但却有一个有趣的读物:Remote physical device fingerprinting
这使您可以在没有合作的情况下,通过NAT或您可以想象的任何其他方式唯一地识别远程物理设备。