You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python脚本在指定时间后过期或无法访问?

实现Python脚本的过期限制方案

当然需要在脚本里加校验逻辑,下面给几个不同强度的实现方案,根据你的需求选:

基础时间校验(简单易实现,适合非敏感场景)

直接在脚本最开头加一段时间校验代码,到了指定时间就终止运行。这种方式的缺点是懂点Python的人能直接改脚本里的过期时间或者系统时间绕过,但胜在零依赖、好写。

import datetime
import sys

# 设置过期时间,格式是年-月-日 时:分:秒
EXPIRE_DATE = datetime.datetime(2024, 12, 31, 23, 59, 59)
current_time = datetime.datetime.now()

if current_time > EXPIRE_DATE:
    print("脚本已过期,无法继续运行")
    sys.exit(1)

# 下面写你的脚本核心逻辑
print("脚本正常运行中...")

加密过期时间(防直接篡改)

把过期时间加密后存在脚本里,校验时解密再对比,能挡住大部分小白篡改。用Python标准库就能实现,不需要额外装包:

import datetime
import sys

# 用简单的异或加密过期时间(密钥自己随便设,别和别人说)
def xor_encrypt_decrypt(text, key):
    return ''.join(chr(ord(c) ^ key) for c in text)

# 先运行一次生成加密后的过期时间,替换下面的ENCRYPTED_EXPIRE
# 比如原始时间是"2024-12-31 23:59:59",密钥设为123
# 生成后把结果存在ENCRYPTED_EXPIRE里,然后删掉生成加密值的代码
ENCRYPTED_EXPIRE = "35;>?89:69<=>9:69<=>"  # 示例加密值
KEY = 123

# 解密并转换为时间对象
try:
    expire_str = xor_encrypt_decrypt(ENCRYPTED_EXPIRE, KEY)
    EXPIRE_DATE = datetime.datetime.strptime(expire_str, "%Y-%m-%d %H:%M:%S")
except:
    print("脚本校验失败,无法运行")
    sys.exit(1)

current_time = datetime.datetime.now()
if current_time > EXPIRE_DATE:
    print("脚本已过期,无法继续运行")
    sys.exit(1)

# 核心逻辑开始
print("脚本正常运行中...")

网络时间校验(防改系统时间)

如果担心用户改本地系统时间绕过,可以调用网络时间接口(需要先装pip install ntplib),但依赖网络,且如果网络不通或者接口失效会影响脚本运行:

import datetime
import sys
import ntplib

EXPIRE_DATE = datetime.datetime(2024, 12, 31, 23, 59, 59)

try:
    # 调用NTP服务器获取网络时间
    client = ntplib.NTPClient()
    response = client.request('pool.ntp.org')
    network_time = datetime.datetime.fromtimestamp(response.tx_time)
except Exception as e:
    print("无法获取网络时间,脚本终止运行")
    sys.exit(1)

if network_time > EXPIRE_DATE:
    print("脚本已过期,无法继续运行")
    sys.exit(1)

# 核心逻辑
print("脚本正常运行中...")

注意事项

  • 没有绝对安全的本地过期方案,只要是本地运行的脚本,技术足够的人总能绕过,上面的方案只是提高篡改门槛
  • 如果是商业敏感脚本,建议把核心逻辑放到服务器端,本地只做调用,这样能更好控制访问权限

内容的提问来源于stack exchange,提问作者Pertigaan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 14:36:52