Sto lavorando su un sito Web PHP e le mie ricerche hanno dimostrato che è del tutto possibile che il server possa essere compromesso e che i file PHP possano essere esposti. Memorizzo il nome utente e la password di MySQL DB all'interno dei file PHP sotto forma di costanti, che viene quindi utilizzata durante la creazione della stringa di connessione.
define("HOSTNAME","hostname.com:2086");
define("DBNAME","databasename");
define("DBUSER","databaseusername");
define("DBPASS","databasepassword!");
/* Defining DB Handler */
try{
$DBH = new PDO("mysql:host=".HOSTNAME.";dbname=".DBNAME, DBUSER, DBPASS);
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$DBH->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
}
catch(PDOException $e){
echo $e->getMessage();
}
Se, in ogni caso, i file PHP vengono esposti, ciò causerebbe anche il rischio che il database e il suo contenuto siano a rischio. Sto sbagliando? C'è un modo migliore per garantire la sicurezza del database anche se i file PHP vengono esposti?