2

mysql-proxy を正常にインストールし、動作方法と lua スクリプトを理解しました。しかし、私はluaを書くのが苦手です。

したがって、私の問題は、Webホスティングに使用するソフトウェアがクエリでOLD_PASSWORD('')を使用してmysqlユーザーを作成し続けることです。mysql-proxy は OLD_PASSWORD('') を新しい PASSWORD('') 値に簡単に置き換える必要があると思います。

私は最近、YouTube でいくつかのチュートリアルを見たことがあります。クエリを置き換える他の方法がある場合は、今すぐ教えてください。

注: クエリはエンコードされており、一部のファイルは実行可能であるため、ソフトウェアからクエリを変更できません。

クエリの例:

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'))
4

1 に答える 1

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
于 2012-02-04T13:22:08.820 に答える