基本上,我想为带有源代码的用户提供一个Web应用程序(内置PHP,MySQL,Apache),以防他们没有Internet连接。但是,与此同时,我必须注意,它们的Web应用程序包(带有Apache,PHP,MySQL和带有数据的实际应用程序)不能被复制并在另一台机器上运行(也许我们可以将身份验证与硬盘序列号绑定)。
我想到的第一个解决方案是构建独立的应用程序,但是我们没有这种选择,因为我们只能使用Web应用程序而受到限制。
我认为一种解决方案是用Java或任何其他独立的编程语言创建一个类似容器的Web浏览器(可能使用系统内部的浏览器之一),在该语言中我们对当前计算机进行额外的身份验证,并且内部使用HTTP的系统浏览器请求/响应。
请分享您对上述解决方案或其他更好解决方案的可行性/实现的想法。
需要记住的一件事是,我们为服务器提供了所有源代码,因此使用数据库或PHP进行身份验证将不会有用。
最佳答案
但是,与此同时,我必须注意,它们的Web应用程序包(带有Apache,PHP,MySQL和带有数据的实际应用程序)不能被复制并在另一台机器上运行(也许我们可以将身份验证与硬盘序列号绑定)。
严格来说,这是impossible。
我想到的第一个解决方案是构建独立的应用程序,但是我们没有这种选择,因为我们只能使用Web应用程序而受到限制。
您听说过IDA Pro吗? JD-GUI? ILSpy?
独立应用程序可以轻松地进行反向工程。这将无济于事。
您最好的选择是:
提供对HTTP客户端完全不可知的云服务,因此您可以拥有包含源代码的后端计算机,然后为客户提供与后端对话的笨拙的开源前端。
使用适合该工作的工具(律师和合同)来执行您的软件政策(即,仅允许运行该软件的一个副本)。
关于php - 如何限制一台机器对PHP Web应用程序的访问?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25963036/