如何使用python在Nginx中建立安全链接模块的链接?我正在寻找使用Nginx来提供具有过期链接的安全文件的方法.Link to Nginx Wiki解决方法:接受的答案是错误的,因为它仅散列密码,而不散列密码,URL和有效时间的组合.imp...

如何使用python在Nginx中建立安全链接模块的链接?
我正在寻找使用Nginx来提供具有过期链接的安全文件的方法.
Link to Nginx Wiki
解决方法:
接受的答案是错误的,因为它仅散列密码,而不散列密码,URL和有效时间的组合.
import base64
import hashlib
import calendar
import datetime
secret = "itsaSSEEECRET"
url = "/secure/email-from-your-mom.txt"
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)
expiry = calendar.timegm(future.timetuple())
secure_link = "{key}{url}{expiry}".format(key=secret,
url=url,
expiry=expiry)
hash = hashlib.md5(secure_link).digest()
encoded_hash = base64.urlsafe_b64encode(hash).rstrip('=')
print url + "?st=" + encoded_hash + "&e=" + str(expiry)
nginx.conf的对应部分
location /secure {
# set connection secure link
secure_link $arg_st,$arg_e;
secure_link_md5 "itsaSSEEECRET$uri$secure_link_expires";
# bad hash
if ($secure_link = "") {
return 403;
}
# link expired
if ($secure_link = "0") {
return 410;
}
# do something useful here
}
沃梦达教程
本文标题为:如何在python中生成Nginx安全链接


基础教程推荐
猜你喜欢
- WindowsError:[错误2]系统找不到指定的文件,无法在Python中解析 2023-11-11
- 如何在Windows上使用python使我的脚本每30分钟重复一次 2023-11-11
- Windows下Python环境搭建 2023-09-03
- python数据结构:数据类型 2023-08-05
- Python 多线程爬取案例 2022-08-30
- Python中10个常用的内置函数详解 2023-08-04
- 各种相似度计算的python实现 2023-09-04
- python读取文件夹中图片的图片名并写入excel表格 2023-08-11
- 深入了解Python中的时间处理函数 2023-08-11
- ubuntu18.04安装python集成开发环境pycharm 2023-09-03