Ciao raga!
Utilizzando la funzione "mysqli_connect()" x connettermi al mio database,
ho notato che è possibile inserire qualsiasi valore per 'localhost' ,'username' e 'password' senza che rilevi nessun errore. Basta solo che inserisca correttamente il nome del db.
Perchè?
Anche se sembra contro intuitivo, questa scelta aumenta la sicurezza del tuo account.
Innanzitutto, questa connessione "senza parametri" è possibile solo dal tuo spazio web e solo verso il tuo database. Questo significa che l'unico pericolo reale si ha a condizione che un attaccante ottenga accesso al file system, o abbia per lo meno la possibilità di caricare ed eseguire un suo script PHP.
In questo caso potrebbe, attraverso lo script da lui creato, connettersi liberamente alla base di dati ed estrarne, modificarne o cancellarne il contenuto.
Il punto è che richiedere i parametri di connessione, sotto la stessa ipotesi di accesso al file system, non solo non aumenta in alcun modo la sicurezza, ma introduce un nuovo rischio.
Il motivo è che, nel momento in cui un attaccante ottiene la possibilità di caricare ed eseguire uno script, diventa per lui molto facile crearne uno che "scansioni" il tuo file system alla ricerca di brani di codice in cui usi funzioni come mysqli_connect specificando nome utente e password.
Appena ne trova anche solo una, ottiene automaticamente i tuoi nome utente e password.
Può quindi utilizzarli per accedere alla base di dati (come nel caso precedente) ma, in più può anche servirsene per avere accesso completo al tuo account AlterVista: base di dati, file system, pannello di controllo, eccetera.