![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Postów: 31 Pomógł: 3 Dołączył: 25.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam zamiar napisac sobie prosta przegladarke katalogow. Nie chce wypisywac wszystkich jako drzewa. ma to wygladac tak ze wyswietla sie katalog glowny (root) i w nim znajduja sie inne podkatalogi. Przejscie do podkatalogow nastepuje przez przekazanie GET np. ?katalog=root/podkatalog
Pytanie 1. Jak zabezpieczyc skrypt, aby uzytkownik ktory wpisze sobie w adresie ?katalog=../innykatalog Chce, aby nie dalo sie przegladac katalogu polozonego nizej niz root. Pytanie 2. Jak bezpiecznie przekazac sciezki do skryptu. Czy rozwiazanie ?katalog=... jest dobre ? czy istnieja jakies inne lepsze sposoby, rozwiazania. Pozdrawiam -------------------- Pomogłem ? Nie zapomnij kliknąć na "Pomógł" ;D
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Linki przekazuj jako podkatalog, podkatalog/sraka i dopiero w skrypcie doklejaj początek ścieżki (czyli root). A przed wyjściem katalog wyżej zabezpieczysz się zwykłym str_replace ../ na cokolwiek (np. nic
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 9 Dołączył: 3.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
ja bym skorzystał z funkcji realpath i jej rezultatowi kazałbym się zaczynać od jakiejś ścieżki którą bym wyznaczył jako katalog główny do "zabaw" dla tego skryptu
wydaje mi się że to pozwala na większą swobodę no i de facto zrzuca odpowiedzialność za nadzorowanie ścieżki na kogoś innego... generalnie sama idea osobiście mi się nie podoba, tak samo jak nie podobało by mi się generowania kodu zapytań SQL, PHP, shell'a, przy czym chodzi mi o $_GET w charakterze kodu właściwego a nie argumentów no ale każdy skrypt ma jakieś swoje potrzeby ten da sie zrobić bezpiecznie i zrobiłbym to z realpath... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
A przed wyjściem katalog wyżej zabezpieczysz się zwykłym str_replace ../ na cokolwiek (np. nic ![]() No a jeśli chce zrobic przycisk "do góry"? najlepiej tak jak to działa w wielu klientach ftp(np. filezilla) łatwiej mu będzie dać katalog/sub/sub/../ niż odejmować ostatni sub za pomocą str reklace:) Cytat ten da sie zrobić bezpiecznie i zrobiłbym to z realpath... zgadzam się:)
Taki przykład użycia, jak dobrze myśle(godzina 3:30), w przypadku tego każde wyjście poza $dir sprawi że ukaże się "błąd":) -------------------- "Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...] Grins: mów normalnie do mnie a nie po polsku Ja: normalnie to znaczy jak? Grins: No w PHP... inaczej mój parser ledwo kuma:) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 19:35 |