有没有一种简单的方法可以在 psycopg2 错误消息中隐藏数据库凭据

问题描述 投票:0回答:1

我最近意识到 psycopg2 中的一些错误消息会显示完整的数据库 uri。该 dbi 的凭据显然是秘密的,对它们的访问比对日志的访问安全得多。

psycopg2.OperationalError: connection to server at "my_database_uri.including_password.in_plain_text.com" (db_ip_address), port 5432 failed: FATAL:  the database system is shutting down

我计划捕获错误以混淆错误消息,但是有更简单的方法吗?

python sqlalchemy psycopg2
1个回答
0
投票

您可以使用错误处理来覆盖错误。 例子:

import re
import logging
import psycopg2

try:
    conn = psycopg2.connect(conn_string)
except psycopg2.OperationalError as e:
    # Mask sensitive information from the exception message
    error_message = re.sub(r"password=.*?\s", "password=**** ", str(e))
    logging.error("Database error: %s", error_message)
© www.soinside.com 2019 - 2024. All rights reserved.