Skip to content

24. Esercizio sull'applicazione – Versione 13

La versione 13 apporta poche modifiche: rende sicuro l'accesso ai file dell'applicazione.

Con la versione 12, è possibile richiedere il seguente URL [http://localhost/php7/scripts-web/impots/version-12/config.json]. Si ottiene quindi la seguente pagina (Firefox):

Image

Tuttavia, questo file [config.json] contiene informazioni sensibili come 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 essere accessibili dall'esterno. Questo perché le viste necessitano dell'accesso HTTP al logo dell'applicazione. La versione 13 fornisce una soluzione semplice a questo problema.

In NetBeans, copiamo e incolliamo la cartella [version-12] nella cartella [version-13]:

Image

  • in [1], nella cartella principale dell'applicazione, lasciamo solo gli script [index.php, main.php];
  • in [2], i file di configurazione vengono inseriti in una cartella [Config];
  • in [3], l'immagine [logo.jpg] viene inserita in una cartella [Resources];

Il server HTTP utilizzato qui è un server Apache. Questo ci permette di controllare l'accesso a una cartella tramite un file [.htaccess]. In tutte le cartelle in cui vogliamo impedire l'accesso diretto tramite URL, creiamo il seguente file [.htaccess]:

Image

Queste due righe impediscono a chiunque di accedere alla cartella.

Inseriamo questo file in tutte le cartelle dell'applicazione, ad eccezione della cartella principale e della cartella [Resources]. In definitiva, dall'esterno sono accessibili solo tre file: [index.php, main.php, Resources/logo.jpg].

Eseguiamo alcuni test:

Image

Image

Image

Image

Image

È necessario apportare alcune modifiche al codice:

Nel file [Config/config.json]:

Image

Nel file [main.php]:

Image

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

Image