gpt4 book ai didi

php - 是否可以在 MySQL General/Slow Query Logs 中隐藏密码?

转载 作者:可可西里 更新时间:2023-11-01 06:49:05 26 4
gpt4 key购买 nike

有时我查看 MySQL 日志时偶然发现一些 AES_ENCRYPT/AES_DECRYPT请求以明文形式显示密码。

如果我在 PHP 中创建日志,我将能够 delete他们。

但是MySQL general/slow query logs呢? .他们的选项是否可用,或者是否可以设置一个不会保存在日志中的 mySQL 变量?

最佳答案

不幸的是,我不知道有什么方法可以禁用单个语句的 MySQL 日志记录。出于这个原因,MySQL 文档建议保护日志:

来自 5.2.3. The General Query Log

As of MySQL 5.6.3, passwords in statements written to the general query log are rewritten by the server not to occur literally in plain text. Password rewriting can be suppressed for the general query log by starting the server with the --log-raw option. This option may be useful for diagnostic purposes, to see the exact text of statements as received by the server, but for security reasons is not recommended for production use.

Before MySQL 5.6.3, passwords in statements are not rewritten and the general query log should be protected. See Section 6.1.2.2, “Administrator Guidelines for Password Security”.

不幸的是,(自 5.6.3 起)内置的反密码日志记录仅适用于 MySQL PASSWORD() 函数。

我看到了一些可能解决您的问题的方法:

  1. 对于每个查询:禁用日志,执行查询,启用日志
  2. 在您的应用程序本身中散列密码(在您的情况下为 php sha)
  3. 保护日志文件,以免任何人看到声明
  4. 登录可自行删除密码的应用程序

关于php - 是否可以在 MySQL General/Slow Query Logs 中隐藏密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11983381/

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