Как я могу заменить свои запросы MySQL-прокси или любым другим способом?
Я успешно установил mysql-proxy и понял, как работает сценарий и lua. Но я не очень хорошо пишу Луа.
Поэтому моя проблема заключается в том, что программное обеспечение, которое я использую для веб-хостинга, продолжает создавать пользователей mysql с OLD_PASSWORD('') в запросах. Я думаю, что MySQL-прокси должен легко заменить OLD_PASSWORD('') с новым значением PASSWORD ('').
Недавно я видел некоторые учебники на YouTube, которым некоторые ppl удается заменить запросы через phpmyadmin. Если есть какой-либо другой способ заменить запросы, пожалуйста, дайте мне сейчас.
Не: я не могу изменить запросы из программного обеспечения, потому что он закодирован и некоторые файлы EXE.
Пример запроса:
INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'safaf', OLD_PASSWORD('123456'))
Ожидаемый запрос:
INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'safaf', PASSWORD('123456'))
1 ответ
После некоторого поиска в интернете я нашел решение.
function read_query( packet )
if string.byte(packet) == proxy.COM_QUERY then
local query = string.sub(packet, 2)
local replacing = false
-- matches "OLD" as first word of the query
if string.match(string.upper(query), 'OLD_PASSWORD') then
query = string.gsub(query,'OLD_PASSWORD', 'PASSWORD')
replacing = true
end
if (replacing) then
proxy.queries:append(1, string.char(proxy.COM_QUERY) .. query )
return proxy.PROXY_SEND_QUERY
end
end
end