gpt4 book ai didi

django - 将我的代码发布到 github 会影响我的应用程序的安全性吗?

转载 作者:行者123 更新时间:2023-12-02 06:14:20 26 4
gpt4 key购买 nike

背景

我正在 Django 中编写一个简单的博客应用程序(数据通过模板语言传递)。博客的所有者将有权访问管理页面,他们将在其中更新数据库。现在我明白在生产中我将不得不隐藏安全 key 并关闭调试。

问题

我在徘徊的是将代码推送到github是否会危及应用程序的安全性?

最佳答案

是的,您可以,但请确保不要将您的 key 和密码保存在您的主 settings.py 中。文件。由于您使用的是 django,python 附带了一个名为 pytho-decouple 的包这有助于您将 secret 文件保存在 .env 文件中。

您可以在 django 项目中使用以下命令安装它:

 pip install python-decouple

Now let us consider you have following settings.py file:

import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY = '3izb^ryglj(bvrjb2_y1fZvcnbky#358_l6-nn#i8fkug4mmz!'
DEBUG = True
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'HELLO_DJANGO',
'USER': 'U_HELLO',
'PASSWORD': 'hA8(scA@!fg3*sc&xaGh&6%-l<._&xCf',
'HOST': '127.0.0.1',
'PORT': '',
}
}

所以你需要做的是在你的 django 项目的根目录中创建一个 .env 文件,如下所示:-
SECRET_KEY=3izb^ryglj(bvrjb2_y1fZvcnbky#358_l6-nn#i8fkug4mmz!
DEBUG=True
DB_NAME=HELLO_DJANGO
DB_USER=U_HELLO
DB_PASSWORD=hA8(scA@!fg3*sc&xaGh&6%-l<._&xCf
DB_HOST=127.0.0.1

由于您想在 github 上上传您的项目,只需确保在您的 .gitignore 文件中包含 .env 文件。
现在最后一步:-
import os
from decouple import config

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', cast=bool)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': config('DB_NAME'),
'USER': config('DB_USER'),
'PASSWORD': config('DB_PASSWORD'),
'HOST': config('DB_HOST'),
'PORT': '',
}
}

通过这种方式,您可以在不让任何人知道的情况下使用您的 key 。

关于django - 将我的代码发布到 github 会影响我的应用程序的安全性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43565371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com