Ireneusz Połeć Blog > Technologie WWW > Require & rozszerzenie pliku
Require & rozszerzenie pliku
Stosowanie funkcji require lub include w php to bardzo przydatna rzecz. Warto jednak pamiętać o rozszerzeniach plików, które chcemy includować. O co tak naprawdę chodzi? Wystarczy wyobrazić sobie sytuację, że mamy stronę internetową, która używa inkludowania (wstawiania) jakiegoś pliku na strony. W momencie gdy wstawiany plik ma rozszerzenie *.php to nie ma problemu, bo serwer nie ujawni jego zawartości.
W wielu miejscach można znaleźć zalecenie, żeby używać plików *.inc Czy rzeczywiście jest to bezpieczne? W momencie, gdy ktoś zna nazwę pliku lub ma możliwość listingowania katalogu ma od razu dostęp do treści kodu php. Wiąże się to z tym, że czasami może pobrać hasła z tego kodu lub ma możliwość znalezienia dziur w systemie.
Jak się bronić?
Jest kilka możliwości zabezpieczenia się:
– skopiować wszystkie pliki *.inc do katalogu nadrzędnego (powyżej public_html). Pozwoli to na zablokowanie dostępu przez przeglądarkę do wyświetlenia zawartości pliku.
– zmienić rozszerzenie pliku inc na inc.php (plik jest traktowany jako plik z roszerzeniem php)
– używać rozszerzeń php (najprostsze rozwiązanie) zamiast inc.
– dodać w pliku konfiguracyjnym Apache dyrektywę: AddType application/x-httpd-php .inc
Podobne do funkcji require i include są jeszcze funkcje:
– require_once (dołącza plik tylko jeden raz)
– include_once (dołącza plik tylko jeden raz)
Użycie w/w funkcji pozwala zapobiegać błędom przy podwójnym definiowaniu bibliotek.