Python通过POST API请求更安全地存储密码
我有一个脚本,它利用请求模块创建POST请求 密码以明文形式存储在脚本中 我担心这显然是不安全的,但我不知道如何使它更安全 关于避免在脚本中以纯文本形式存储密码以发出请求的步骤,有什么建议吗Python通过POST API请求更安全地存储密码,python,api,security,passwords,python-requests,Python,Api,Security,Passwords,Python Requests,我有一个脚本,它利用请求模块创建POST请求 密码以明文形式存储在脚本中 我担心这显然是不安全的,但我不知道如何使它更安全 关于避免在脚本中以纯文本形式存储密码以发出请求的步骤,有什么建议吗 #Set request parameters url = 'https://apiexample.com/test' #ISSUE: password is plain text user = 'api_example' pwd = 'plaintextnopes' #Set proper header
#Set request parameters
url = 'https://apiexample.com/test'
#ISSUE: password is plain text
user = 'api_example'
pwd = 'plaintextnopes'
#Set proper headers
headers = {"Content-Type":"application/json","Accept":"application/json"}
#Build HTTP Request
response = requests.post(url=url, auth=(user, pwd), headers=headers ,data=j)
#Check for HTTP codes other than 200
if response.status_code != 200:
print('Status:', response.status_code, 'Headers:', response.headers, 'Response Text', response.text, 'Error Response:',response.json())
exit()
编辑:
帐户是有权将记录写入数据库的系统用户,这是静态的,不会更改。假设此脚本以交互方式运行,您可以通过调用
input()
或raw\u input()
(取决于您使用的Python版本)要求用户在键盘上键入密码
您可以将密码存储在单独的文件中,该文件并不完全安全,但允许您在不共享密码的情况下共享脚本
您可以获取用户名+密码的base64编码值,并将其直接包含在标题中,而不是通过
auth=
参数传递它们。然而,这只会保护密码不受偶然窥探者的攻击;根据编码值重建用户名和密码很容易。假设此脚本以交互方式运行,您可以通过调用input()
或raw\u input()
(取决于您使用的Python版本)要求用户在键盘上键入密码
您可以将密码存储在单独的文件中,该文件并不完全安全,但允许您在不共享密码的情况下共享脚本
您可以获取用户名+密码的base64编码值,并将其直接包含在标题中,而不是通过
auth=
参数传递它们。然而,这只会保护密码不受偶然窥探者的攻击;从编码值很容易重建用户名和密码。帐户是有权将记录写入数据库的系统用户,这是静态的,不会更改。我想我至少应该将它存储在一个单独的文件中,并且头文件中包含的base64编码值可能至少更安全一些。为了在报头中传递base64编码的值而不是auth参数,语法是什么样的?谢谢你的建议headers={…,'Basic:%s'%b64encode('%s:%s%%(用户,pwd))}
帐户是有权将记录写入数据库的系统用户,这是静态的,不会更改。我想我至少应该将它存储在一个单独的文件中,并且头文件中包含的base64编码值可能至少更安全一些。为了在报头中传递base64编码的值而不是auth参数,语法是什么样的?谢谢你的建议<代码>头={…,'Basic:%s'%b64encode('%s:%s%%(用户,pwd))}