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"
Podobne wpisy
By accepting you will be accessing a service provided by a third-party external to https://www.slawop.net/