我们目前正在构建一个基于Web的应用程序,需要将用户与他们所在的物理工作站相关联。理想情况下,应用程序将限制在浏览器,这意味着在浏览器之外的计算机上没有运行客户端应用程序。
对用于跟踪工作站的信息(IP,Mac地址,工作站名称)没有限制,但不保证静态IP;网络可能使用DHCP。
基本上问题是:是否有办法将网络用户的会话与物理机器相关联,从浏览器中。
请注意IE8是目标浏览器;并且将使用诸如CakePHP或Symfony的PHP框架。
编辑:链接机器的任何静态信息都是可以接受的,它 不是Mac地址。用户也可以移动机器,因此我们需要在他们最好自动移动时更新他们的机器,而不需要与他们交互。
答案 0 :(得分:1)
你的“基本......”问题的答案是:可能不是,如果有的话,你不能依靠它来坚持下去。
虽然我现在意识到您有一个目标浏览器,但您仍应该设计工具以适应未来的软件或策略更改。要求ActiveX可能不是最好的主意。
如果您有其他可用的身份验证系统,则可以附加到它们。 BrowserID,NTLM和其他可用于* AMP堆栈的技术有选项,我怀疑Symfony支持其中任何一个都很容易找到。我已经将NTLM with Drupal用于内部Web应用程序并取得了巨大成功。如果您使用Active Directory存储用户信息,则Web应用程序可以使用LDAP进行身份验证并记录持久性cookie。
如果您担心可能会删除Cookie,则可以考虑使用Evercookie。虽然这不会与物理机器相关联(即它无法承受操作系统的重新安装),但它还是非常接近。
答案 1 :(得分:0)
试试这个,但客户端需要启用ActiveX组件:
http://codingresource.blogspot.com/2010/02/get-client-mac-address-ip-address-using.html