5

是否可以在 mysql-proxy 的 lua 脚本中拦截和更改登录信息。

例如,如果用户要像这样点击代理:

mysql -h localhost -P 4040 -u bob -D orders -p

我不仅希望连接重定向到后端服务器,而且还希望更改用户名/数据库名称,以便上述命令与此等效:

mysql -h production.server -P 3306 -u bob_production -D bob_orders -p

我注意到我似乎只能在通过身份验证后才能在脚本中获取身份验证信息,即使我之前可以得到它,我也没有看到一种轻松注入它的方法。

有没有人知道如何在 mysql-proxy 或其他解决方案中实现这一点?

4

1 回答 1

3

有可能的。在安装包的 share/docs 目录中查看教程脚本 tutorial-scramble.lua,这是一个验证来自远程客户端的散列密码并替换服务器所需的身份验证凭据的示例。

教程示例中使用的函数是:read_auth ()

您可能还想监视来自服务器的身份验证响应,这可以使用read_auth_result () 来完成。

于 2012-11-30T16:11:18.787 回答