|
@@ -42,14 +42,17 @@ class HMACValidatorObject:
|
|
|
def validate_timestamp(timestamp, tolerance_seconds=300):
|
|
|
"""
|
|
|
校验时间戳是否在允许的范围内。
|
|
|
- :param timestamp: 时间戳字符串 (ISO格式)
|
|
|
+ :param timestamp: Unix时间戳 (秒级)
|
|
|
:param tolerance_seconds: 容许的时间误差,单位为秒 (默认5分钟)
|
|
|
:return: 时间戳是否在有效范围内
|
|
|
"""
|
|
|
try:
|
|
|
- request_time = datetime.fromisoformat(timestamp)
|
|
|
+ # 将Unix时间戳转为datetime对象
|
|
|
+ request_time = datetime.utcfromtimestamp(int(timestamp))
|
|
|
current_time = datetime.utcnow()
|
|
|
+ # 计算时间差(秒级)
|
|
|
delta = (current_time - request_time).total_seconds()
|
|
|
+ # 判断时间差是否在容许范围内
|
|
|
return abs(delta) <= tolerance_seconds
|
|
|
except ValueError:
|
|
|
return False
|