![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
A wiec mam dylemat natury takiej że nie wiem jak bezpiecznie includować przez get
![]() ![]() Ale do zeczy, mianowicie teraz mam podobny problem, jak to zrobic ale bezpiecznie i tak aby nie zajmowało 3 cyfrowej liczby linijek kody ![]() Najproście ro chyba tak:
Ale w takim układzie spooro lini kodu przybędzie a co za tym idzie szybkość spadnie i przy sporej liczbie odwiedzających może być już kiepsko - przykładem jest np. seriws elektroda.pl który w godzinach szcytu potrafi miec czas wykonani skryptu ponad 30 sekund ! Drugim mankamentem tego kodu jest że tutaj trudno sprawdzić czy taki id istnieje, nie chce dopuścić do sytłacji gdzie użytkownik z powodu braku pliku dostaje całą stronę błędów .... Pomyślałem że można też tak:
Tylko teraz czy ten sposób jest naprawde bezpieczny ? No niby jest ./ ale jakoś ja mam talent do pisania skryptów które łątwo wykrzaczyć ![]() p.s. Powyższych kodów nie sprawdzałem ale powinny działać. */*/*/*EDIT*\*\*\* Drugi kod był błedny ![]() ![]() Aż starch pomyśleć => index.php?id=../../pwd ![]() Ale dobra mnijsza o to, poprawiłem go i wygląda tak:
Więc teraz nie da się jako id podać index bo nie ma czegos takeigo jak doc_index.php, pilnowac tylko trzeba żeby żaden dokument php nie miał nazwy zaczynającej się na doc_. Czy teraz skrypt jest bezpieczy ? Ten post edytował kiler129 21.03.2007, 13:22:21 -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 30.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy, że masz dwa pliki na serwerze:
doc_index.php doc_tajne.txt Niby doc_tajne.txt nie zinclude'uje się bo ma końcówke .txt a nie .php, ale gdyby id=tajne.txt%00 to wyświetli się doc_tajne.txt, więc taki sposób też nie jest do końca bezpieczny. A i zamiast is_readable() lepiej chyba używać file_exists(); Ten post edytował lent 21.03.2007, 15:33:52 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
To nie przejdzie bo wszystkie pliki z danymi u mnie mają rozszerzenie .php i w środku zmienne.
Poza tym pliki z hasłami (i to napewno hasłami do danych) się szyfruje ![]() p.s. Wole użyć is_readable() bo gdy użyje file_exists() to w razie co jak ktos zaincluduje plik który ma prawa odczytu tylko przez właściciela a nie ma prw odczytu przez php to zamiast błędu Premission denid zobaczy brak pliku o padnym id więc stwierdzi ze takiego pliku nie ma i nie będzie węszył przy nim ![]() Ten post edytował kiler129 21.03.2007, 16:08:38 -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli upierasz się przy tym sposobie, uprość go.
Zrób tablicę, gdzie przyporządkujesz numer ID do pliku, wtedy wielkość kodu to kwestia wielkości tablicy, a samo include'owanie można umieścić w małej funkcji. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jakoś nie czaje, moze i to śmieszne o co pytama ale jestem chory i moge trochę od żeczy gadać
![]() Weź mi napisz kodzik o co ci chodzi z tą tablicą. Po co ona ? Co w moim kodziku jest nie tego ? -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 5.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli dobrze zrozumiałem przedmówcę...
Pisane na szybko z ręki, więc może coś być nie tak. Ten post edytował tansky 21.03.2007, 23:09:11 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam małą propozycję, aby przekazywaną wartość przerabiać na liczbę (skoro podajesz w $_GET id)
kod tansky'ego po malusiej modyfikacji:
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 19.07.2006 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
No dobra super a gdzie zwiały polskie znaki ?
Jak napisze tak: $tresc = 'ęóąśłżźćń'; A następnie wywyołam echo $tresc; to pokaże się ęóšłżćń co z tym zrobić ? -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat("forum.php.pl") <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" /> Lub też inn charset (UTF/cp1250), w zależności od tego w jakim jest zakodowany Twój plik php (sprawdź w ustwieniach edytora).
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hmm a jak koduje wordpad ?
![]() ---- a co to za pytanie ? hmm ? następnym razem będzie ostrzeżenie -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Przenoszę na przedszkole
-------------------- -------------
------ |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 31 Dołączył: 13.11.2006 Skąd: się znamy? Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Goldenline: Łukasz Rodziewicz
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko ok tylko niech ktos mi powie dlaczego ten kod nie działa:
Tzn. działa ale po padaniu id np. 6718234239843 skrypt poprostu nic nie wytświetla zamista pokazac błąd o braku takiego id - co jest ? Napewno gdzies jest błąd ale ja go nie widze ;P -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 4 Dołączył: 3.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Po dodaniu wcięć:
Po prostu źle klamerki ustawiłeś ![]() |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nadal nie działa :[
Ale poradziałem sobie ineczej:
Ale teraz z kolei coś schrzaniłem w tablicy ![]() Ktoś powie co ? Kod Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in F:\WebServ\httpd\web\index.php on line 14 */*/*/*/EDIT\*\*\*\* Brak kropki przy 3 id ;p poprawione aby ktos nie wrzucil sobie z bledem jak tego użyć ![]() Ten post edytował kiler129 22.03.2007, 21:07:36 -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 1.08.2025 - 02:23 |