데이터베이스에 연결할 때는 안전한 비밀번호를 사용해야 합니다.

 

데이터베이스 연결에 비밀번호 인증 모드를 사용하는 경우 안전한 비밀번호를 선택해야 합니다.

이 규칙은 빈 비밀번호를 사용할 때 문제를 발생시킵니다.

규칙을 어긴 코드

Flask-SQLAlchemy

def configure_app(app):
    app.config['SQLALCHEMY_DATABASE_URI'] = "postgresql://user:@domain.com" # 규칙을 어긴 코드

Django

# settings.py

DATABASES = {
    'postgresql_db': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'quickdb',
        'USER': 'sonarsource',
        'PASSWORD': '', # 규칙을 어긴 코드
        'HOST': 'localhost',
        'PORT': '5432'
    }
}

mysql/mysql-connector-python

from mysql.connector import connection

connection.MySQLConnection(host='localhost', user='sonarsource', password='')  # 규칙을 어긴 코드

규칙을 준수한 해결책

Flask-SQLAlchemy

def configure_app(app, pwd):
    app.config['SQLALCHEMY_DATABASE_URI'] = f"postgresql://user:{pwd}@domain.com" # 규칙을 준수한 코드

Django

# settings.py
import os

DATABASES = {
    'postgresql_db': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'quickdb',
        'USER': 'sonarsource',
        'PASSWORD': os.getenv('DB_PASSWORD'),      # 규칙을 준수한 코드
        'HOST': 'localhost',
        'PORT': '5432'
    }
}

mysql/mysql-connector-python

from mysql.connector import connection
import os

db_password = os.getenv('DB_PASSWORD')
connection.MySQLConnection(host='localhost', user='sonarsource', password=db_password)  # 규칙을 준수한 코드

같이보면 좋은 자료

If you like SONARKUBE, don’t forget to give me a star. :star2:

원문으로 바로가기

Star This Project