PHP - dyrektywa include

Czy dyrektywa include() może wpłynąć na bezpieczeństwo aplikacji PHP?

Instrukcja „include” pozwala wczytać plik, którego adres został podany w jej argumencie. Służy ona do wczytania i wykonania kodu z określonego pliku w trakcie wykonywania skryptu.

Użycie tej dyrektywy może być niebezpieczne kiedy aplikacja przesyła adres strony w postaci zmiennej poprzez protokół HTTP za pomocą metody GET, np:

$strona=$_GET['adres'];
include($strona);

index.php?adres='http://adres_strony.php'

Istnieje niebezpieczeństwo w tym przypadku, że modyfikując adres strony w przeglądarce możliwe jest wywołanie dowlonej strony WWW.

Aby temu zaradzić możemy zastosować na przykład taką instrukcję:

include('./'.$_GET['katalog']);
?>


W ten sposób będziemy mogli dołączać jedynie pliki, które znajdują się w określonym w skrypcie katalogu. Wówczas nie można będzie załączyć pliku z innego serwera.
Generalnie, ważne jest to, aby nigdy nie zezwalać użytkownikowi na dostęp do jakiegokolwiek pliku oraz odpowiednie przefiltrowanie wszystkiego co pochodzi z zewnątrz.

 

Uważasz, że artykuł był ciekawy i chcesz otrzymywać powiadomienia o moich kolejnych wpisach lub projektach?
Wpisz swoje imię oraz adres e-mail a następnie kliknij "ZAPISZ MNIE"

Twoje imię:


Adres email:


Bezpieczeństwo PHP
Człowiek - Komputer

Podobne wpisy

 

Komentarze

Umieść swój komentarz jako pierwszy!
Gość
piątek, 18 październik 2019

Zdjęcie captcha

Najnowsze komentarze

Gość - Studio Jak wybrać hosting dla Joomla!?
13 wrzesień 2019
Warto jeszcze dopisać punkt, żeby przy wyborze wybrać panel między DirectAdmin/cPanel. Niektóre hostingi mają swoje własne rozwiązania - czasami bardzo specyficzne, co niekoniecznie jest dobrą rzeczą
Gość - Marek Szyfrowanie symetryczne a niesymetryczne
09 czerwiec 2019
"Klucz przekazany do publicznej wiadomości, nazywany jest kluczem publicznym lub jawnym. Może on być stosowany do szyfrowania lub deszyfrowania informacji otrzymanych od osoby, która go wygenerowała. ...
Gość - Marek Tworzenie szablonów dla Joomla! Helix Ultimate
10 maj 2019
Witam, napotkałem problem pojawiający się przy zmianie kolorów tła czy czcionek oraz importowaniem ustawień. W pierwszym przypadku, po zmianie kolorów i ich zapisaniem, panel podglądu strony przeładow...
Gość - Andy SSL i Joomla! w Smarthost
03 styczeń 2019
Dzięki, jak zwykle dobra robota! Warto dodać, że instalacja certyfikatu SSL nie zapewnia bezpieczeństwa transmisji danych. To jest możliwe po wdrożeniu polityki bezpieczeństwa w firmie. Co do SSL - to...
Gość - Henryk Jak utworzyć menu poziome w szablonie protostar?
02 styczeń 2019
Robię punkt po punkcie i nie wyświetla się poziome menu Nie wiem gdzie tkwi błąd i co robię źle?Jeśli to możliwe to proszę o pomocps. posiadam książkę "Joomla! 3x" i tu również niema pomocy Pozdrawiam...