【问题标题】:Lock a program to the first computer it runs on? [closed]将程序锁定到运行它的第一台计算机? [关闭]
【发布时间】:2014-01-10 16:22:19
【问题描述】:

现在我正在做的是向 Gmail 发送一封电子邮件,其中包含一些关于我的程序正在运行的硬件以及可以找到 Web 界面的位置的信息。然后,我手动查看这些电子邮件,以查看特定编程的硬件是否发生了很大变化(数十台计算机发送电子邮件,而不是我发送电子邮件的一个人)如果是这样,我手动转到 Web 界面并输入“ kill-switch' 命令通过擦除程序需要运行的 xml 文件来禁用该副本。但是,用户只需安装程序即可轻松逆转。

我对网页端代码和许可几乎一无所知。我非常愿意学习,但对于我正在做的事情来说似乎有点矫枉过正。


更具体地说 - 有没有办法在不使用任何类型的网络服务器的情况下做到这一点?如果不是,对于没有网络编码经验的人来说,最简单的基于网络服务器的方法是什么?

【问题讨论】:

  • 这经常出现(stackoverflow.com/questions/7307554/… 是我发现的第一个)。不幸的是,如果没有产品检查的网站,通常很难做到(因为最终人们可能会弄乱他们 PC 上的文件)。你的问题很好,但我强烈建议稍微精简一下 - 有很多背景故事!

标签: c# licensing


【解决方案1】:

您应该将您的程序锁定在计算机的唯一 HWID 上。在第一次运行时将计算机的 hwid 放在服务器上并在运行时检查 hwid 是否不同.. 如果不同则关闭程序

【讨论】:

  • 当然,这样的机制可以被用户打败;它只是防止随意违反许可证,而不是来自确定的智能用户。
【解决方案2】:

您正在谈论对程序进行节点锁定。
据我了解,这是一个相当复杂的问题,所以我建议使用 3rd 方组件。

【讨论】:

    【解决方案3】:

    如何添加许可证代码并在安装时要求它。创建足够复杂的算法并将所有可能的密钥存储在程序中。

    使用网络服务器,您可以在安装过程中向例如发送简单的请求。 REST Web 服务并询问许可证是否有效并将 IP 地址与此许可证相关联。您可以使用 PHP 和基本托管服务提供商为您的服务做到这一点。

    然后,每次程序打开时,它都会检查当前 IP 地址是否已注册到许可。

    另外,我认为锁定它是多么糟糕,因为现在人们像换袜子一样更换电脑。只需确保在服务器端阻止许可暴力破解,例如在一天内允许来自同一 IP 的 10 个失败请求

    【讨论】:

    • 然后当有人购买一个许可证并将代码提供给他们所有的朋友,或者只是将其发布到网上供任何人使用?
    • 否,因为它一次只能在一个地方使用。
    • 你是如何执行的?
    • 已编辑帖子。手机打字很慢:)
    • 这是一个完全不可行的解决方案。大多数人没有静态 IP 地址。对于绝大多数用户,这将导致您的应用程序在几小时到几天后停止工作。一些幸运的人会从产品中获得几周的价值,但除此之外,您还剩下极少数购买静态 IP 的人,这些 IP 主要是服务器,而不是客户端。
    猜你喜欢
    • 2021-03-06
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多