Python 如何设置许可证服务器以对单个PC进行许可证验证/绑定

Python 如何设置许可证服务器以对单个PC进行许可证验证/绑定,python,flask,license-key,Python,Flask,License Key,我正在开发一个将出售给企业的应用程序。企业希望支付一定数量的许可证(例如,5台计算机的5个许可证) 我们已经实现了一个特定于客户的许可证文件,该文件使软件能够工作,但是可以简单地将该许可证用于任意数量的机器。这不好。假设你是一家支付5个许可证的公司,却发现你只需一个许可证就可以生存。当然它会违反使用条款,但没有人会知道 我相信我可以通过MAC地址/CPU等将许可证绑定到一台PC,但如果我想这样做,我需要在许可证绑定到PC时对其进行身份验证。 所以我遇到的问题是如何在初始运行时验证许可证 我的想法

我正在开发一个将出售给企业的应用程序。企业希望支付一定数量的许可证(例如,5台计算机的5个许可证)

我们已经实现了一个特定于客户的许可证文件,该文件使软件能够工作,但是可以简单地将该许可证用于任意数量的机器。这不好。假设你是一家支付5个许可证的公司,却发现你只需一个许可证就可以生存。当然它会违反使用条款,但没有人会知道

我相信我可以通过MAC地址/CPU等将许可证绑定到一台PC,但如果我想这样做,我需要在许可证绑定到PC时对其进行身份验证。 所以我遇到的问题是如何在初始运行时验证许可证

我的想法是,我需要一个外部许可证服务器,该服务器将接收请求,通过查找已激活该许可证的实例来检查是否有效,添加实例并返回一个响应,该响应将告诉PC可以验证/绑定该许可证。 我能够对消息进行编码,并在PC端处理身份验证。我不知道的是如何设置服务器和请求/响应(通信)部分。对于网络,我是一个完全的新手,我不想浪费几天或几周的时间去发现这种方法是错误的

我认为有两种可能性:

  • 在服务器和PC上使用
    python套接字
    进行通信
我应该能够用几行代码来写这篇文章,但是我发现很难找到一个能够承载套接字的服务。例如,PythonAnywhere不支持这个(“我可以使用websockets,或者运行我自己的socket服务器吗?恐怕不行——我们只支持实现WSGI协议的Python应用程序”source:),googleappengine似乎也不支持,我对其他人也有类似的指示

  • 让电脑发出http请求(
    python请求
    ),并让服务器动态响应它(
    flask
    django
    !?)
我绝对没有使用flask或django的经验,似乎我需要投入大量的时间。这似乎是一件过于复杂的事情,我甚至不知道是否可以做到

这些方法有效吗? 什么是合适的选择? 其他选择

我知道任何东西都可能被黑客入侵。我只需要这样做,就不会有人简单地将可执行文件复制到另一台PC上,然后让它在那里运行而不费吹灰之力

谢谢你的帮助

  • 您可以与第三方一起发布和管理许可证。只需谷歌“许可证管理”、“生成和管理许可证”等

  • 在Flask和Django之间,我会说用Flask。任何一方都不应该花费大量时间编写代码来生成许可证并返回它。您的挑战是——在调用服务器的应用程序上编写代码,以及在应用程序不在连接到web的机器上的情况下(假设应用程序可以脱机使用)将要做什么。这就是为什么有些人喜欢使用第三方来管理许可证


  • 第三方是一个考虑因素,但必须解决它,似乎需要更长的时间来设置一切。在那里,我感到更加失落:S。我将进一步调查它。至于离线;当许可证第一次被授权时,应用程序只需要一次internet,之后许可证将被修改/绑定到PC,不再需要服务器进行验证。