ďťż

sunsetting

photo

Witam.

Mam pewne pytanie. Czytałem i słyszałem, że aby zabezpieczyć się przed bugiem funkcji include() trzeba wyłączyć od strony admina zdalne otwieranie plików. Jak to ma wyglądać w rzeczywistości (szczegółowo)?


W /etc/php5/apache2/php.ini

Wyszukaj frazę "allow_url_include" i zmień na off

Tak po za tym nadal nie ubezpieczy cię całkowicie, bo includować może lokalne pliki. (to tylko utrudnia).

Pomyśl o filtrowaniu wejścia
OK, znalazłem bardzo ciekawy portal o PHP, HTML, JavaScript. Może komuś jeszcze się przyda. Oto link - http://webmade.org/wyszuk...?fraza=include. Tak poza, to dzięki za odpowiedź.
a nie wystarczy zrobić np. czegoś takiego:
case(zmienna)
{
bleble : include(costam);
bleble : include(costam)
bleble : include(costam)

else include("blad.html")
}
??
to w takich prostych przykladach powinno starczyc ; P



case(zmienna)
{
bleble : include(costam);
bleble : include(costam)
bleble : include(costam)

else include("blad.html")
}

O! Ciekawe... Na pewno się przyda. Wielkie dzięki.
sorki nie wiem czy działa
zamiast else moze byc default : include("blad.html")
Ogólnie to trzeba dawać jak najmniejszą swobodę użytkownikom. Używać ścieżek absolutnych np: Kod: include("/strona/include/$inc"); + filtrowanie $inc z niepożądanych znaków typu: Cytat: ; . / ..
Ustawić w php.ini allow_url_fopen i allow_url_include, o register_globals nie wspominając (domyślnie w nowych wersjach PHP jest off, ale warto sprawdzić).

Możesz też looknać na funkcję file_get_contents(), tylko, że ona nie wykonuje kodu tylko czyta zawartość pliku.

W tym tricku z case na pewno powinno być default a nie else
Ogólnie to trzeba dawać jak najmniejszą swobodę użytkownikom.

O hackerach nie wspominając.

Ustawić w php.ini allow_url_fopen i allow_url_include, o register_globals nie wspominając (domyślnie w nowych wersjach PHP jest off, ale warto sprawdzić).

Jakby co, to w PHP w wersji 4 i 5 jest.

Możesz też looknać na funkcję file_get_contents(), tylko, że ona nie wykonuje kodu tylko czyta zawartość pliku.

Zerknę, zerknę.

W tym tricku z case na pewno powinno być default a nie else

To akurat wiedziałem.

W każdym razie bardzo dziękuje za pomoc i poświęcony czas.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kazimierz.htw.pl