C # usa lo stesso database mysql con il mio sito web

0

Il titolo dice quasi tutto.
Ho un sito web ospitato con Ubuntu con mysql su di esso. Ora sto cercando di capire come posso usare lo stesso mysql con l'app c #.

Ho capito che mysql blocca le connessioni da altri IP. Il problema è che con l'app c # la connessione può provenire da qualsiasi indirizzo IP.

In un'altra domanda che ho lasciato su StackOverflow qualcuno ha detto che non va bene accettare tutte le connessioni.

Che cosa devo fare per connettere i dati del mio sito web con la mia app c #?

    
posta Toni 26.07.2017 - 00:56
fonte

1 risposta

0

Suppongo che l'app C # sia un client desktop perché dici "la connessione può provenire da qualsiasi indirizzo IP". La risposta dipende in gran parte dal fatto che tu stia distribuendo questo agli utenti o semplicemente prevedi di usarla o di affidarla a poche persone di cui ti fidi completamente.

Se verrà distribuito agli utenti finali, non è necessario fornire le credenziali dell'applicazione per connettersi direttamente al database. Anche le credenziali di sola lettura possono causare problemi sul tuo database se incontrollate. Invece, dovresti implementare un servizio web che accetti richieste dall'applicazione C # ed esegua query e mutazioni sul database come necessario per conto del cliente. Ciò eliminerà il tuo problema di qualsiasi indirizzo IP che accede al tuo database e dovrai solo autorizzare i server che stanno eseguendo il tuo nuovo servizio.

Se usato da te o dalle persone di cui ti fidi, puoi aprire il tuo database per inserire nella whitelist indirizzi IP specifici o consentire ai tuoi utenti di connettersi al tuo database attraverso un tunnel . Ciò ridurrebbe in modo significativo la quantità di lavoro che devi svolgere, ma non è molto sicuro. I tuoi utenti possono accedere alle credenziali del tuo database e utilizzarle maliziosamente se decidono di farlo. Creare un servizio è ancora il miglior design, ma lo considererei un'opzione valida solo per qualcosa come uno strumento di supporto utilizzato internamente all'interno di un'organizzazione.

    
risposta data 26.07.2017 - 01:06
fonte

Leggi altre domande sui tag