Иногда я просматриваю свои журналы MySQL, и я натыкаюсь на некоторые запросы AES_ENCRYPT / AES_DECRYPT, показывающие пароль в виде открытого текста.
Если я создам журналы внутри PHP, я смогу их удалить .
Но как насчет обычных / медленных журналов запросов MySQL . Является ли их вариант доступным или можно установить переменную mySQL, которая не будет сохранена в журналах?
К сожалению, я не знаю, как отключить ведение журнала MySQL для отдельных операторов. Документация MySQL советует сохранить защищенные журналы по этой причине:
Из 5.2.3. Общий журнал запросов
Начиная с MySQL 5.6.3, пароли в операторах, записанных в общий журнал запросов, перезаписываются сервером, чтобы не происходить буквально в виде простого текста. Переустановка пароля может быть подавлена для общего журнала запросов, запустив сервер с опцией -log-raw. Этот параметр может быть полезен для диагностических целей, чтобы увидеть точный текст операторов, полученных сервером, но по соображениям безопасности не рекомендуется для использования в производстве.
Перед MySQL 5.6.3 пароли в операторах не переписываются и общий журнал запросов должен быть защищен. См. Раздел 6.1.2.2 « Руководство администратора по безопасности паролей ».
К сожалению, это (начиная с 5.6.3) встроенный анти-парольный журнал идет только для функции MySQL PASSWORD ().
Я вижу несколько возможных решений для вашей проблемы: