[英]How to get a unique PC ID from a web browser
我有一个Web应用程序,它将运行几个特定的目标机器。 我可以让用户在登录时选择他所在的机器,但这很容易出错。 有没有办法可以从每台PC获取一些唯一的ID,将它们存储在我的服务器上的数据库中,然后当有人从特定的机器登录时,识别该机器? 我想到了IP地址,但由于部署的性质,这些也可能会发生变化。 但至关重要的是,我知道系统运行的是哪台机器。
注意:我不是要确定Web用户计算机的机器代码,因为这会违反隐私。 我知道我的机器所以我想以某种方式将它们绑定到数据库。 这对我来说也起到了安全作用,因为我可以拒绝来自未知机器的登录。
谢谢你的任何想法。 我使用Code Igniter 3和Centos 6.5运行Apache
没有客户端组件,浏览器插件或类似的东西是不可能的。 最接近的替代方案是:
每个都有自己的缺点。
您可以将其用作计算机ID:
$computerId = $_SERVER['HTTP_USER_AGENT'].$_SERVER['LOCAL_ADDR'].$_SERVER['LOCAL_PORT'].$_SERVER['REMOTE_ADDR'];
这并不是完全万无一失的,因为$_SERVER
的值可以伪造,但它仍然会添加一个不依赖于cookie的额外安全层。
用户第一次访问您的站点时,请通过IP地址识别他们的计算机。 然后使用您选择的唯一标识符设置持久性cookie。
下次他们访问该站点时,您可以通过之前设置的唯一标识符cookie来识别它们。
我要么
使用像bin2hex(openssl_random_pseudo_bytes(512))
类的值并将其设置为cookie然后检查cookie
要么
使用基于IP的日志记录(127.0.0.1)已键入hello
要么
MAC地址(php库)
您甚至可以尝试获取MAC地址:
使用这个类(https://github.com/BlakeGardner/php-mac-address)
这是一个用于在Unix,Linux和Mac OS X操作系统之上进行MAC地址操作的PHP类。 它主要是为了帮助欺骗无线安全审计而编写的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.