24. Toepassingsopdracht – versie 13
Versie 13 brengt weinig veranderingen met zich mee: deze versie beveiligt de toegang tot de bestanden van de applicatie.
Met versie 12 kan men de volgende URL opvragen: [http://localhost/php7/scripts-web/impots/version-12/config.json]. Men krijgt dan de volgende pagina te zien (Firefox):

Dit bestand [config.json] bevat echter gevoelige informatie, zoals de inloggegevens van gebruikers die bevoegd zijn om de applicatie te gebruiken. Dit bestand mag niet toegankelijk zijn voor gebruikers. Hetzelfde geldt voor alle bestanden van de applicatie, met uitzondering van de [main.php, index.php, Views/logo.jpg]-bestanden, die wel van buitenaf toegankelijk moeten zijn. De weergaven hebben namelijk toegang nodig tot het logo van de applicatie (HTTP). Versie 13 biedt een eenvoudige oplossing voor dit probleem.
In NetBeans kopiëren en plakken we de map [version-12] in [version-13]:

- in [1], in de hoofdmap van de applicatie, laten we alleen de scripts [index.php, main.php] staan;
- in [2] worden de configuratiebestanden in een map [Config] geplaatst;
- in [3] wordt de image [logo.jpg] in een map [Resources] geplaatst;
De gebruikte server HTTP is hier een Apache-server. Hiermee kan de toegang tot een map worden geregeld via een bestand [.htaccess]. In alle mappen waarvoor we directe toegang via URL willen blokkeren, maken we het volgende bestand [.htaccess] aan:

Deze twee regels zorgen ervoor dat iedereen de toegang tot de map wordt ontzegd.
We plaatsen dit bestand in alle mappen van de applicatie, behalve in de hoofdmap en de map [Resources]. Uiteindelijk zijn slechts drie bestanden van buitenaf toegankelijk: [index.php, main.php, Resources/logo.jpg].
Laten we een paar tests uitvoeren:





Er moeten enkele wijzigingen in de code worden aangebracht:
In het bestand [Config/config.json]:

In het bestand [main.php]:

In het bestand [Views/v-bandeau.php]:
