24. Esercizio pratico – versione 13
La versione 13 apporta poche modifiche: rende più sicuro l’accesso ai file dell’applicazione.
Con la versione 12, è possibile richiedere la pagina URL successiva a [http://localhost/php7/scripts-web/impots/version-12/config.json]. Si ottiene quindi la seguente pagina (Firefox):

Tuttavia, questo file [config.json] contiene informazioni sensibili, quali le credenziali degli utenti autorizzati a utilizzare l’applicazione. Non deve essere accessibile agli utenti. Lo stesso vale per tutti i file dell’applicazione, ad eccezione dei file [main.php, index.php, Views/logo.jpg], che devono invece essere accessibili dall’esterno. Infatti, le viste devono poter accedere al logo dell’applicazione tramite HTTP. La versione 13 offre una soluzione semplice a questo problema.
In NetBeans, copiamo e incolliamo la cartella [version-12] in [version-13]:

- in [1], nella cartella principale dell’applicazione, lasciamo solo gli script [index.php, main.php];
- in [2], i file di configurazione vengono collocati in una cartella [Config];
- in [3], l’immagine [logo.jpg] viene collocata in una cartella [Resources];
Il server HTTP utilizzato in questo caso è un server Apache. Esso consente di controllare l’accesso a una cartella tramite un file [.htaccess]. In tutte le cartelle alle quali vogliamo impedire l’accesso diretto tramite URL, creiamo il seguente file [.htaccess]:

Queste due righe impediscono a chiunque di accedere alla cartella.
Inseriamo questo file in tutte le cartelle dell’applicazione, tranne che nella cartella radice e nella cartella [Resources]. Alla fine, solo tre file sono accessibili dall’esterno: [index.php, main.php, Resources/logo.jpg].
Facciamo qualche prova:





È necessario apportare alcune modifiche al codice:
Nel file [Config/config.json]:

Nel file [main.php]:

Nel file [Views/v-bandeau.php]:
