Skip to content

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):

Image

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]:

Image

  • 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]:

Image

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:

Image

Image

Image

Image

Image

W kodzie należy wprowadzić kilka zmian:

W pliku [Config/config.json]:

Image

W pliku [main.php]:

Image

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

Image