24. Ćwiczenie praktyczne – wersja 13
Wersja 13 wprowadza niewiele zmian: zabezpiecza dostęp do plików aplikacji.
W wersji 12 można wywołać następującą stronę URL po wywołaniu strony [http://localhost/php7/scripts-web/impots/version-12/config.json]. Otrzymujemy wówczas następującą stronę (Firefox):

Plik ten [config.json] zawiera jednak poufne informacje, takie jak identyfikatory użytkowników uprawnionych do korzystania z aplikacji. Nie powinien on być dostępny dla użytkowników. To samo dotyczy wszystkich plików aplikacji, z wyjątkiem plików [main.php, index.php, Views/logo.jpg], które muszą być dostępne z zewnątrz. W rzeczywistości widoki muszą mieć dostęp do pliku HTTP zawierającego logo aplikacji. Wersja 13 oferuje proste rozwiązanie tego problemu.
W NetBeans kopiujemy i wklejamy folder [version-12] do folderu [version-13]:

- w folderze [1], znajdującym się w katalogu głównym aplikacji, pozostawiamy jedynie skrypty [index.php, main.php];
- w [2] pliki konfiguracyjne umieszczamy w folderze [Config];
- w przypadku [3] obraz [logo.jpg] umieszczamy w folderze [Resources];
Wykorzystywany serwer HTTP to serwer Apache. Umożliwia on kontrolowanie dostępu do folderu za pomocą pliku [.htaccess]. We wszystkich folderach, do których chcemy zablokować bezpośredni dostęp za pomocą pliku URL, tworzymy następujący plik [.htaccess]:

Te dwie linijki powodują, że dostęp do folderu jest zablokowany dla wszystkich.
Umieszczamy ten plik we wszystkich folderach aplikacji z wyjątkiem folderu głównego i folderu [Resources]. Ostatecznie z zewnątrz dostępne są tylko trzy pliki: [index.php, main.php, Resources/logo.jpg].
Przeprowadźmy kilka testów:





W kodzie należy wprowadzić kilka zmian:
W pliku [Config/config.json]:

W pliku [main.php]:

W pliku [Views/v-bandeau.php]:
