在我们的一个项目中,我尝试使用PostgreSQL的安全扩展pgcrypto
。我发现这是函数,PGP_SYM_ENCRYPT
非常方便。使用此函数,可以使用LIKE %keyword%
、BETWEEN
等查询加密数据,如果使用Java或PHP等编程语言对加密数据进行加密,然后将其插入数据库,则无法实现。
然而,我发现了一个问题。使用PGP_SYM_ENCRYPT
执行查询后,日志文件中的新行将被写入。有趣的是,日志包含了明文的密码!
当然,海事组织,这是不可接受的。我想保护我的password
,同时我也想将任何更改(插入、更新、删除)记录到我的数据库中。
是否有任何方法对日志文件隐藏此密码信息?
发布于 2019-02-19 16:10:37
您可以更改配置设置,以减少发生这种情况的可能性(首先是什么设置触发了日志消息?)
但是通常情况下,如果您将密码发送到数据库,那么数据库就有您的密码。除了不将密码发送到数据库并处理由此带来的后果外,没有其他办法可以避免这种情况。如果您确实将密码发送到数据库,则必须以与保护数据库其余部分相同的警惕性保护数据库日志文件。
https://dba.stackexchange.com/questions/230106
复制相似问题