MySQL Proxy: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Nuova pagina: {{Infobox Software | nome = MySQL Proxy| sviluppatore = MySQL AB | versione_ultimo_rilascio = 0.6.0 | data_ultimo_rilascio = 6 settembre 2007 | sistema_operativo = [[M... |
|||
Riga 15:
== Generalità ==
'''MySQL Proxy''' è un'applicazione molto leggera (200 KB in compilazione dinamica, 1.5 MB in compilazione statica con le librerie), che è stata disegnata per interporsi fra un [[client]] e un [[server]] [[MySQL]] ed eseguire operazioni sui pacchetti inviati e ricevuti.
Il programma ha poche opzioni di configurazione. La caratteristica che lo rende interessante e funzionale è il un interprete [[Lua]] integrato, grazie al quale è possibile analizzare ed eventualmente modificare i pacchetti passati fra client e server.
Il client non si accorge del Proxy, che agisce da [[man in the middle]]. Il client si connette con le solite credenziali. Il Proxy intercetta la richiesta e si collega al server. Da quel momento, ogni query inviata dal client e i relativi risultati restituiti dal server passano attraverso il Proxy.
Si noti che MySQL Proxy non è un'applicazione di [[malware]], anche se la definizione resa sopra, con la sua possibilità di intercettazione, potrebbe farlo credere. L'uso del Proxy è trasparente per il client, in materia di protocollo, ovvero il client usa il server tramite il Proxy senza avvertire differenze (tranne quando usa funzioni espolicitamente create per il Proxy). Ma il Proxy usa una porta diversa dal server, e pertanto, anche se l'uso è trasparente per l'applicazione, l'amministratore è conscio della sua esistenza. L'uso del Proxy senza consenso di una delle due parti non è possibile. Il Proxy può essere usato dall'amministratore, per ampliare le funzionalità del server, o dall'utente, per lo stesso motivo. Nel primo caso, il Proxy sarà visibile a tutti gli utenti. Nel secondo caso solo l'utente che l'ha installato nella sua macchina è al corrente delle funziani estese.
Nella sua forma essenziale, MySQL Proxy è uno strumento di ridirezione, che passa un pacchetto di richiesta dal client al server, prende dal server i risultati, e li passa al client. Nel passaggio di dati, il Proxy può intervenire, ed effettuare operazioni sulla query prima che venga inviata, o sui risultati, prima che vengano restituiti. Le modifiche vengono effettuate tramite script in [[Lua]], che usano funzioni predefinite per alterare lo stato dei pacchetti. Le funzioni sono le seguenti:
* ''[http://dev.mysql.com/doc/refman/5.0/en/mysql-proxy-scripting-connect-server.html connect_server]'' in cui si può agire al momento della connessione al server;
* ''[http://dev.mysql.com/doc/refman/5.0/en/mysql-proxy-scripting-read-handshake.html read_handshake]'' che avviene immediatamente dopo la connessione;
* ''[http://dev.mysql.com/doc/refman/5.0/en/mysql-proxy-scripting-read-auth.html read_auth]'' in cui si passano al server le credenziali di accesso;
* ''[http://dev.mysql.com/doc/refman/5.0/en/mysql-proxy-scripting-read-auth-result.html read_auth_result]'' dove viene ricevuto il risultato dell'operazione precedente;
* ''[http://dev.mysql.com/doc/refman/5.0/en/mysql-proxy-scripting-read-query.html read_query]'' che si attiva per ogni query inviata al server;
* ''[http://dev.mysql.com/doc/refman/5.0/en/mysql-proxy-scripting-read-query-result.html]'' che viene richiamata quando il Proxy riceve il risultato di una query modificata;
* ''disconnect_client'' che si attiva quando un client viene disconnesso.
== Funzioni ==
|