【问题标题】:Have users use python program for a duration of time让用户使用 python 程序一段时间
【发布时间】:2020-10-28 06:00:07
【问题描述】:

是否可以让程序在到期前运行一段时间?例如,我有这样的代码:

from time import sleep
import sys

print('Hello')
sleep(200)
print('Still here?')
sys.exit()

此代码在 200 秒后存在,但如果用户再次运行它,它将启动。有没有办法让它永久不启动?

【问题讨论】:

  • Python 作为源代码(或易于反编译的字节码)分发。编辑出这样的检查相当简单。在实践中,如果您想拥有这样的服务,那么即使是对普通用户也有效的唯一解决方案是在线托管它,这样他们就无法访问后端魔法。
  • 这似乎是商业问题而不是 python(技术)问题。您是否考虑过使用计费或订阅服务?例如。 stripe.com/au/billing 还有很多其他的。

标签: python python-3.x payment


【解决方案1】:

首先使用这个脚本获取当前时间

>>> import datetime
>>> print(datetime.datetime.now())
2009-01-06 15:08:24.789150

然后将其添加到您的脚本中

import datetime
from time import sleep
import sys

print('Hello')
if '2009-01-06' in datetime.datetime.now():
    pass
else:
    print('Still here?')
    sys.exit()

这将在 1 天后到期。您当然可以根据自己的喜好自定义它

【讨论】:

    【解决方案2】:

    可能是公钥。或者只是一个象征。您可以花点时间收集有关计算机的信息,例如公共 IP 地址、MAC 地址等,以确保只有这个人在使用您的软件。

    只要谷歌如何使用 python 来获取用户的这个标识。

    也许有一个为每个用户保存信息的数据库是个好主意,其中用户对象有一个到期日期。在此之后,该软件将不再对用户有效。 :)

    实现起来很简单:)

    【讨论】:

      【解决方案3】:

      只需将开始时间编码为某个字符串 - 您甚至可以对其进行加密 - 给出“密钥”,然后您的程序只需定期将当前时间与密钥 +30 天进行比较。如果达到,只需禁用访问权限。

      【讨论】:

        猜你喜欢
        • 2020-07-16
        • 1970-01-01
        • 2022-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-15
        • 2017-08-28
        • 1970-01-01
        相关资源
        最近更新 更多