Questo può fornire una sicurezza adeguata, se configurato correttamente.
Posso pensare a un difetto comune: con Apache e le regole di riscrittura, è spesso possibile costruire un URL che punta allo stesso file e non viene reindirizzato. Ad esempio, la richiesta di reindirizzamenti /Config/config.php
, ma la richiesta di //Config//config.php
non lo fa. Questo perché la regola di riscrittura corrisponde a un URL esatto, non a nessuna variazione.
Un altro errore comune quando si utilizza il reindirizzamento per la sicurezza è l'invio dell'intestazione al reindirizzamento, ma non impedisce il rendering della pagina. Un utente malintenzionato può quindi accedere alle pagine rimuovendo l'intestazione Location
. Tuttavia, si tratta in genere di un errore nell'applicazione e non quando si utilizza Apache per eseguire il reindirizzamento.
Un modo migliore è di posizionare il file di configurazione all'esterno della web root. Quindi hai index.php
in una sottodirectory public
e config.php
al di fuori di questa directory. Ciò riduce la possibilità di esporre la configurazione.