概述:
日常在用python开发过程中,针对于安全性的要求,要求我们不能把秘钥,token,key等信息硬编码到代码中,例如这样:这是极度不安全的做法,如果服务器上的源码泄露,可能会被人当做漏洞攻击的入口。
最简单解决方案-(在服务器上写环境变量):
(一)Linux服务器上设置临时环境变量(不建议):
Tip:这种方式只在当前终端或命令行生效,一旦退出终端或命令行就会失效。
写环境变量:export token=123456
验证环境变量是否生效:echo $token
(二)Linux服务器上设置永久环境变量(建议此种):
(1)vim /etc/profile
(2)在文件底行写入:export token=123456
(3):wq!保存退出
(4)source /etc/profile
验证环境变量是否永久生效:
(1)Linux命令行方式验证:
echo $token
(2)在python命令行验证:
(1)ptyhon进入python命令行
(2)导入os模块
(3)os.getenv('环境变量的key值')
可以看到是生效了,且我们退出之后下次使用时候还是可以读取到,永久生效
同理,在代码中读取,读取之后赋值即可,这样就不需要再把这些比较敏感的信息硬编码在项目代码里了:
提醒:
实际开发过程中不会直接在linux的/etc/profile里直接写环境变量,我们可以自定义一个文件,写入环境变量,方式和在/etc/profie里一致,source一下就会永久生效,然后以 ‘.’ 开头给文件命名把文件隐藏,这样更加安全。