Php 阻止用户使用其他计算机或设备登录
我试图解决这个问题已经有一段时间了 我已经构建了一个应用程序,它正在我们客户机的服务器上运行。客户端必须为每个用户购买使用系统的许可证。因此,每个用户在其计算机上都有一个链接,以便仅使用该计算机访问应用程序。对于每台计算机,必须为每个用户注册并存储在数据库中 因此,我必须限制用户使用其他计算机/设备访问应用程序。我的问题是如何使用php(或任何其他语言)从每台计算机捕获唯一的信息,以便在用户每次尝试登录时检查这些信息。我知道你只能用php获取浏览器信息。因此,我在寻找一些能指引我正确方向的想法Php 阻止用户使用其他计算机或设备登录,php,security,Php,Security,我试图解决这个问题已经有一段时间了 我已经构建了一个应用程序,它正在我们客户机的服务器上运行。客户端必须为每个用户购买使用系统的许可证。因此,每个用户在其计算机上都有一个链接,以便仅使用该计算机访问应用程序。对于每台计算机,必须为每个用户注册并存储在数据库中 因此,我必须限制用户使用其他计算机/设备访问应用程序。我的问题是如何使用php(或任何其他语言)从每台计算机捕获唯一的信息,以便在用户每次尝试登录时检查这些信息。我知道你只能用php获取浏览器信息。因此,我在寻找一些能指引我正确方向的想法
我尝试的是在每台电脑中存储唯一的cookie,并将它们注册到数据库中。但问题是,我们总是遇到这样一个问题:一些用户清除了他们的cookie,因此无法访问该应用程序。我认为您不能仅使用PHP来归档该应用程序。PHP在服务器上运行,您可以从服务器上检索的唯一客户机信息是IP,但它不起作用,因为它可以是动态的,如果所有用户都在同一个LAN中,那么它对所有用户都是相同的 想法是使用在客户端运行的东西,然后javascript作为一个好主意出现,但它有一个问题:用户可以看到它,他可以看到它如何检查或检索信息,因此操纵它的行为非常容易。即使您要从javascript检索用户的MAC,它也不会工作,因为MAC可以更改
我认为您应该安装一些类型的EXE(例如C、C++、C、java),以确保它们不能从任何其他计算机或设备中登录。当然,在用户使用web应用程序之前,应该安装并通知用户
另一方面,你为什么要做一个只能在1台电脑上运行的web应用程序?我的意思是,web应用程序的一大优点是,它们几乎可以在任何PC/设备上使用 我认为您不能仅使用PHP来构建此文档。PHP在服务器上运行,您可以从服务器上检索的唯一客户机信息是IP,但它不起作用,因为它可以是动态的,如果所有用户都在同一个LAN中,那么它对所有用户都是相同的 想法是使用在客户端运行的东西,然后javascript作为一个好主意出现,但它有一个问题:用户可以看到它,他可以看到它如何检查或检索信息,因此操纵它的行为非常容易。即使您要从javascript检索用户的MAC,它也不会工作,因为MAC可以更改
我认为您应该安装一些类型的EXE(例如C、C++、C、java),以确保它们不能从任何其他计算机或设备中登录。当然,在用户使用web应用程序之前,应该安装并通知用户
另一方面,你为什么要做一个只能在1台电脑上运行的web应用程序?我的意思是,web应用程序的一大优点是,它们几乎可以在任何PC/设备上使用 将用户链接到计算机不是一个好主意。为什么要先创建一个web应用程序的独立性和灵活性(假设它是一个web应用程序,因为它是PHP,或者您实际上有命令行用户吗?),然后将它限制在单个设备上,这些设备可能会损坏、被盗。。。也许该公司没有为每个用户提供固定的工作点,但它为更多的兼职员工使用的计算机数量较少,因此每个用户每天可能使用不同的计算机 如果你真的想要这样的限制,你最好限制每个用户的会话数。也就是说:将会话ID和这些会话的用户名记录在一个表中。在每个请求中,更新表以存储请求日期时间,以便检查过期会话。使用MySQL,您可以创建一个存储类型为
MEMORY
的表,这对于会话信息来说非常快速和有用。重新启动数据库服务器时,数据将消失,但这通常不是此类信息的问题
现在,有可能继续:
此外,如果你让你的软件太烦人,他们可能会决定根本不使用它,并寻找替代方案。我认为最好信任你的客户。将用户链接到计算机不是一个好主意。你为什么要先创造