当前位置: 首页 > news >正文

济南网站建设开发公司linux服务器下如何新建网站

济南网站建设开发公司,linux服务器下如何新建网站,网站建设公司取名,wordpress 建站 教程文章目录 DDjango连接Redis、数据库、mongodb密码明文存储问题以及方案需求背景常见解决方案Django中redis、数据库密码明文加密存储方案 DDjango连接Redis、数据库、mongodb密码明文存储问题以及方案 需求背景 密码不应以明文出现在代码或配置文件中。 常见解决方案 在Dja… 文章目录 DDjango连接Redis、数据库、mongodb密码明文存储问题以及方案需求背景常见解决方案Django中redis、数据库密码明文加密存储方案 DDjango连接Redis、数据库、mongodb密码明文存储问题以及方案 需求背景 密码不应以明文出现在代码或配置文件中。 常见解决方案 在Django连接Redis、数据库、mongodb等时,密码明文存储是一个安全隐患。 在生产环境中,主流的密码安全存储方案是: 环境变量 这是最常见的方案。将密码存储在环境变量中,然后在代码或配置文件中读取。优点是: 安全:密码不存在于代码或配置文件中,不会被提交到版本控制系统中灵活:可以针对不同的环境设置不同的密码 缺点是: 环境变量是明文存储,在一定程度上也存在安全隐患环境变量管理比较复杂,需要确保在所有环境中都正确设置 加密存储 可以对密码进行加密后存储在配置文件中,然后在使用时进行解密。 优点是: 安全:密码以加密形式存储,无法直接读取明文密码自定义:可以选择不同的加密算法和密钥本地化:不依赖外部系统, passwords存储在本地 缺点是: 需要管理和保护密钥,密钥的泄露会导致所有密码泄露可能的性能影响:加密和解密需要一定计算开销 密钥管理系统 优点是: 高度安全:密码和密钥由密钥管理系统统一管理和存储易用:简单的API和CLI可以方便地读写密码审计:有完整的访问日志审计 缺点是: 额外的复杂度:需要部署和维护密钥管理系统不同云厂商有不同的密钥管理服务 硬件安全模块(Hardware Security Module) HSM是专用的硬件设备,用于加密密钥的存储和操作。主要优点是: 高度安全:密钥存储在物理隔离的硬件设备中,具有最高级别的安全性性能:HSM设备专门用于密钥操作,性能远超一般服务器符合标准:HSM设备通常符合FIPS 140-2或EAL4的安全认证,满足大多数安全标准的要求 但是,HSM的成本也是最高的,并不适合小型环境或开发环境使用。 Django中redis、数据库密码明文加密存储方案 在Github上,大多数开源Django项目的密码都是以密文形式存储在代码中的,而非明文。这是因为: 如果密码以明文形式出现在公开仓库的代码中,很容易被泄露和滥用。上传明文密码不符合安全开发的最佳实践。。防止意外提交。如果开发者忘记排除密码文件,就可能意外提交密码到公开仓库。使用密文存储可以避免这种低级错误。方便配置管理。很多项目会将这些密文存储在环境变量或配置文件中,而非直接硬编码到代码中。这使得配置和密钥的管理更加灵活方便。 所以,这些项目在上传代码到Github前,通常会采取如下措施对密码进行加密: 生成SECRET_KEY或其他随机密钥,但不上传到Github。使用该密钥加密密码,并将加密后的密文存储在代码中,如: 使用SECRET_KEY作为密钥,对db_password进行加密,得到password。 password f.encrypt(SECRET_KEY, db_password.encode())在部署或运行项目前,通过环境变量或其他方式向项目传递SECRET_KEY,在运行时解密并使用密码。 当需要使用该密码时,可以使用f.decrypt(SECRET_KEY, password)来将password解密,得到原始的db_password。 将SECRET_KEY和其他敏感配置放在.env文件中,使用django-dotenv加载到项目,但不上传.env文件到Github。 其中.env文件中存储有: SECRET_KEYyour_secret_key DB_PASSWORDyour_db_password.env文件不会上传到Github,密码以密文形式出现在settings.py中,运行项目前需要配置.env文件,这保证了密码的安全性。 settings.py中使用如下代码加载和使用: import os from dotenv import load_dotenvload_dotenv()SECRET_KEY os.getenv(SECRET_KEY) db_password os.getenv(DB_PASSWORD)DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: db_name,USER: user,PASSWORD: f.encrypt(SECRET_KEY, db_password.encode()),} }这种管理敏感配置和密码的方式在开源Django项目中很常见。通过隔离密钥与密码,以及只在运行环境中注入敏感变量,可以很好地兼顾安全性与便捷性。 关于.env配置文件可以参考本文python库-dotenv包 | .env配置文件
http://www.hkea.cn/news/14310946/

相关文章:

  • 企业网站设计的特点铜陵做网站的公司
  • 做网站的是什么工程师wordpress主题Tendor
  • 网站做伪原创收录大连关键词
  • 网页网站项目综合什么网比较好
  • 襄阳做网站上海本地企业
  • 企业级网站开发项目教程唐山网站建设技术支持
  • 肇庆市住房和城乡建设部网站宁波seo网络推广推荐
  • 谷歌网站流量统计网络推广包括什么内容
  • 网站开发用到哪些技术购买网站广告位
  • 建设通官方网站网站怎么增加流量
  • 网站备案 空间自己做网站要钱么
  • 做网站.服务器怎么买wordpress人性化主题
  • 如何分析企业网站淘宝客网站素材
  • 带网站的图片素材广州邮局网站
  • 怎样将自己做的网页加入网站厦门做网站的公司
  • wordpress建站文本教程如何拷贝网站代码
  • 网站建设开票属于什么服务网站建站客户需求表单
  • 检察 网站建设建设网站的法律可行性分析
  • 网站搭建文案WordPress将开发
  • iis7.5添加php网站WordPress post登录
  • 网站建设廉政风险点北京公司公示在哪个网站
  • 网站开发毕设题目网站集成微信登陆
  • 比较好的网站公司吗成都网站设计推荐
  • 公司的网站建设注意点网站开发合同免费模板
  • 代理网站备案表出售自己的网站
  • wordpress漏洞复现知乎seo排名的搜软件
  • 网站做的比较好的贸易公司wordpress 缓存时间
  • 南通网站制作公司北京网络营销策划公司
  • 网站域名列表怎么填写建网站网络推广优势
  • 网站不能自行备案吗株洲网络学院登录