PostgreSQL - “Include Error Detail”连接字符串参数 - 返回的信息有多敏感?

4

https://www.npgsql.org/doc/connection-string-parameters.html

包含错误详细信息 - 启用后,PostgreSQL 错误和通知详细信息将包含在 PostgresException.Detail 和 PostgresNotice.Detail 中。这些可能包含敏感数据。
如果我在连接字符串中提供“Include Error Detail=True”,那么我需要关注哪些敏感数据?如果查询本身在异常或错误消息中返回,那对我来说是可以接受的,但如果例如连接密码以明文形式返回,那显然是不好的。基于此参数,哪些敏感数据会有条件地包含在错误中?

例如,如果您的查询使用了dblink,则错误可能包括用于dblink连接(而不是原始连接)的密码。将其返回给最初发送该查询的用户不应该成为问题,但将其返回到仅发送被转换为查询的片段的最终用户可能会成为问题。 - jjanes
3个回答

4
这些信息不包含数据库用户不应看到的敏感数据。所以,除非您向应用程序用户显示信息而不是记录它们,否则我不会担心。您的数据库用户可能可以访问应用程序用户不应看到的信息。

啊,如果它是查询本身的信息(或者关于模式的信息),那么我肯定不会担心。 - Anssssss
错误的;我根据我找到的信息添加了我的答案。 - Dagrada
@Anssssss 不,它还可以包含数据(来自表格或参数),而不仅仅是模式信息。 - Bergi
@Dagrada,答案没有问题。它指出错误详细信息可以包含数据库用户可以看到的任何数据。“敏感数据”是指存储在数据库中但数据库用户无访问权限的数据。 - Bergi
@Dagrada 我说的是"数据库用户不应该看到的信息",而不是"终端用户不应该看到的信息"。 - Laurenz Albe

2
错误消息将包含来自数据库的实际数据。例如:
DETAIL: Key (policy_provider_id, charge)=(194, 0) is duplicated.

这些数据可能是敏感的,因此在输出中被省略。


0

我不确定你的回答想要补充什么。我已经知道文档中的内容,并且在原始问题中已经提到了。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接