唯一标识独立机器(PHP)

唯一标识独立机器(PHP),php,ip,identification,Php,Ip,Identification,如何使用PHP唯一地标识不同的机器。我想使用MAC地址,但显然你不能。我可以使用$\u SERVER['REMOTE\u ADDR']但是IP地址会改变(不是吗?)。此外,该页面不会被浏览器访问,而是使用程序下载,因此我不相信我可以设置cookie 这样做的目的是防止我的共享软件桌面应用软件的用户在每台机器上使用程序超过试用限制(可以通过删除注册表项来实现)-因此,我希望每个新安装都使用mySQL数据库在云中注册,该数据库将确认机器之前是否在试用期之后未注册 有什么想法吗?我认为你应该尝试另一种

如何使用PHP唯一地标识不同的机器。我想使用MAC地址,但显然你不能。我可以使用
$\u SERVER['REMOTE\u ADDR']
但是IP地址会改变(不是吗?)。此外,该页面不会被浏览器访问,而是使用程序下载,因此我不相信我可以设置cookie

这样做的目的是防止我的共享软件桌面应用软件的用户在每台机器上使用程序超过试用限制(可以通过删除注册表项来实现)-因此,我希望每个新安装都使用mySQL数据库在云中注册,该数据库将确认机器之前是否在试用期之后未注册


有什么想法吗?

我认为你应该尝试另一种方法

IP不会帮助您识别机器。试想一下,我在家里有一个无线接入点,所有连接到互联网的设备都有相同的IP地址。或者我的公司使用代理服务器,我的电脑通过交换两个不同的IP来发出请求

一些软件公司通过强制客户安装硬件卡来解决这一问题,硬件卡作为解锁特定PC中应用程序的钥匙,但这种sotfware许可证的价格为4位数或更多。这是一个糟糕的用户体验。试想一下,每次重新安装操作系统或不同的硬件部件时,都必须从头开始解锁过程(除此之外,通常还需要打电话到公司的支持中心)

也许你可以尝试双因素身份验证,除了用户名之外,还可以请求一个通过SMS发送到每个用户唯一电话号码的一次性密码。并将每个电话号码的请求限制在每小时5次和每天10次左右

你也可以试试流行的免费模式。免费用户获得最低限度的功能,只有付费客户才能获得好东西


但请记住,我不知道您提供的是哪种软件,所以这种解决方案可能也不适用。

我认为您应该尝试另一种方法

IP不会帮助您识别机器。试想一下,我在家里有一个无线接入点,所有连接到互联网的设备都有相同的IP地址。或者我的公司使用代理服务器,我的电脑通过交换两个不同的IP来发出请求

一些软件公司通过强制客户安装硬件卡来解决这一问题,硬件卡作为解锁特定PC中应用程序的钥匙,但这种sotfware许可证的价格为4位数或更多。这是一个糟糕的用户体验。试想一下,每次重新安装操作系统或不同的硬件部件时,都必须从头开始解锁过程(除此之外,通常还需要打电话到公司的支持中心)

也许你可以尝试双因素身份验证,除了用户名之外,还可以请求一个通过SMS发送到每个用户唯一电话号码的一次性密码。并将每个电话号码的请求限制在每小时5次和每天10次左右

你也可以试试流行的免费模式。免费用户获得最低限度的功能,只有付费客户才能获得好东西


但是请记住,我不知道您提供的是哪种软件,所以这种解决方案可能也不适用。

那么,您应该在安装程序中担心获得传递给PHP的值,而不是在PHP脚本中。考虑如何从安装程序中获取MAC地址
–Xeon06

那么,在安装程序中,您应该担心获得一个要传递给PHP的值,而不是PHP脚本中的值。考虑如何从安装程序中获取MAC地址
–Xeon06

那么您的用户将在其计算机上的服务器上运行应用程序?从有限的信息中很难判断,但您可能应该实现一个指向资源的一次性链接,该链接在一次下载后过期。很抱歉,该程序在用户的计算机上运行(可以脱机使用)。安装程序时,它会向我的服务器上的PHP脚本发出HTTP请求,其中包含GET[]变量,然后这些变量与IP地址和当前时间等信息一起添加到我的数据库中。我想添加一个变量,如果用户再次访问并安装该程序,可以再次识别他们。我不介意用户多次下载该文件,甚至安装并重新安装该程序,但他们不能在试用期(从第一次安装开始)之后使用它。那么,您应该担心的是在安装程序中获得要传递给PHP的值,而不是在PHP脚本中。考虑如何从安装程序中获取MAC地址,这样你的用户就可以在他们的机器上运行服务器上的应用程序了。很难从有限的信息中得知,但是也许你应该在一次下载之后实现一个一次性使用的资源链接。抱歉,程序在用户的计算机上运行(可以离线使用)。安装程序时,它会向我的服务器上的PHP脚本发出HTTP请求,其中包含GET[]变量,然后这些变量与IP地址和当前时间等信息一起添加到我的数据库中。我想添加一个变量,如果用户再次访问并安装该程序,可以再次识别他们。我不介意用户多次下载该文件,甚至安装并重新安装该程序,但他们不能在试用期(从第一次安装开始)之后使用它。那么,您应该担心的是在安装程序中获得要传递给PHP的值,而不是在PHP脚本中。考虑如何从安装程序中获取MAC地址