Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以在PHP上编写此代码吗?_Php_.net_Vb.net_Hwid - Fatal编程技术网

可以在PHP上编写此代码吗?

可以在PHP上编写此代码吗?,php,.net,vb.net,hwid,Php,.net,Vb.net,Hwid,我编写了一些vb.net应用程序,为了安全,我使用了HWID安全方法 生成唯一密钥的vb.net代码为: Dim hwid As String = System.Security.Principal.WindowsIdentity.GetCurrent.User.Value 它会为每台电脑返回一些像这样的唯一密钥 S-1-2324-34242FDF-SDWQ3Q-Q3WR4CWRWCE1321SXS32 目前我正在学习和开发PHP脚本 我想知道是否可以使用PHP生成相同的唯一键???让我们将其

我编写了一些vb.net应用程序,为了安全,我使用了HWID安全方法

生成唯一密钥的vb.net代码为:

Dim hwid As String = System.Security.Principal.WindowsIdentity.GetCurrent.User.Value
它会为每台电脑返回一些像这样的唯一密钥

S-1-2324-34242FDF-SDWQ3Q-Q3WR4CWRWCE1321SXS32

目前我正在学习和开发PHP脚本

我想知道是否可以使用PHP生成相同的唯一键???

让我们将其分解

System.Security.Principal.WindowsIdentity.GetCurrent()
是一个返回当前用户的方法

.User.Value
他实际上是在打电话:

.User.toString()
方法实际上是:

System.Security.Principal.WindowsIdentity.GetCurrent().User.toString()
这只是一个简单的例子

运行
wmic useraccount get name,sid
返回在计算机上找到的所有sid

现在,这对PHP意味着什么?由于PHP只在服务器上运行,我怀疑这个数字会根据访问者的访问情况而改变。因此,在PHP中使用这个数字是毫无意义的,因为它总是一样的

生成随机ID的更好方法是


查看有关如何从注册表派生此SID的信息。

感谢您的回复。.因此php是服务器端的。。。因此,通过客户端区域上的javascript/vbscript可以获得唯一的密钥……不,这在javascript中是不可能的。如果用户正在运行Internet Explorer,并且允许使用VBScript,则可以获取SID。如果您试图禁止或使用此SID执行某些操作,请不要。这是在客户端,因此不应用于任何类型的身份验证或验证。更好的选择是会话(cookie)、www身份验证,甚至是直接IP检查。(请注意,在某些情况下,IP也可能被伪造)