![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zablokowani Postów: 42 Pomógł: 0 Dołączył: 24.01.2006 Ostrzeżenie: (30%) ![]() ![]() |
W kursie php znalazłem takie zdanie w związku ze zmiennymi globalnymi, a konkretniej z p fukncją POST
Cytat "Wydaje się to wygodniejsze i łatwiejsze, lecz powoduje pewne niebezpieczeństwo. Mianowicie używając zmiennych globalnych nie można stwierdzić, czy dana wartość pochodzi z sesji czy może została podana w URLu metodą GET. Przy źle napisanych skryptach można tak obchodzić zabezpieczenia." Jak zabezpieczać skrypty? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
nie używać register global
![]() ![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zablokowani Postów: 42 Pomógł: 0 Dołączył: 24.01.2006 Ostrzeżenie: (30%) ![]() ![]() |
Tzn.? Podaj jeśli możesz przykłądy filtrowania?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 188 Pomógł: 0 Dołączył: 23.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Samo register globals moze byc wlaczone na serwerze. Po prostu jesli chcesz uzyc zmiennej x przekazywanej metoda GET to odwoluj sie przez $_GET['x']. Tak samo rob z $_POST, $_COOKIE, $_SESSION itp.
|
|
|
![]()
Post
#5
|
|
Grupa: Zablokowani Postów: 42 Pomógł: 0 Dołączył: 24.01.2006 Ostrzeżenie: (30%) ![]() ![]() |
I to jest to filtrowanie? :- ) Bo jeśli tak to każdy skrypt to u mnie stosuje (co zrobiłem troche nieświadomie ;- ))
Jedno jeszcze pytanie... co z tym include? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
To już było poruszane, nawet jest temat przyklejony dotyczący bezpieczeństwa skryptów ... http://forum.php.pl/index.php?showtopic=30056
-------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 188 Pomógł: 0 Dołączył: 23.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(blaskognia @ 2006-01-28 19:45:13) I to jest to filtrowanie? :- ) Bo jeśli tak to każdy skrypt to u mnie stosuje (co zrobiłem troche nieświadomie ;- )) Jedno jeszcze pytanie... co z tym include? Jesli to bylo pisane do mnie to odpisuje. Nie, to nie jest przykald filtrowania, tylko pokazane jak odwolywac sie do zmiennych pochodzacych z konkretnych zrodel (GET, POST itp). Register global moze byc wlaczone i nie spowoduje to ze skryopty beda mniej bezpieczne. A co do samego filtrowania, to bylo to juz poruszane na forum dziesiatki razy. Trzeba szukac ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zablokowani Postów: 42 Pomógł: 0 Dołączył: 24.01.2006 Ostrzeżenie: (30%) ![]() ![]() |
A czy istnieje możliwość włamania się gdy skrypt korzysta z sesji? Np.:
if ($_SESSION["zalogowany"]=="tak") { Jeżeli jest zalogowany, to coś tam wykonuje. Czy haker może to złamać? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 188 Pomógł: 0 Dołączył: 23.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
W 99% nie jest w stanie tego zlamac
![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zablokowani Postów: 42 Pomógł: 0 Dołączył: 24.01.2006 Ostrzeżenie: (30%) ![]() ![]() |
Czyli na dobrą sprawę niemal 100% zabezpieczeniem jest zamknięcie wszystkich skryptów w
if ($_SESSION["zalogowany"]=="tak") { czy tak? :- D |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
przy register_globals = on
mając taki kod:
zmienna $zalogowany pobirała wartość np w Twoim przypadku z sesji ale... tajny_plik.php?zalogowany=1 i zmienna $zalogowany mogła przyjąć wartość true. ogolnei zamotka z tym była. najbezpieczenij uzywac $_GET $_POST itd. do tego sprawdzac czy przychadzące dane są idpowiedniego typu, is numeric itd. wiecej w temacie sql injection (przyklejony jest). |
|
|
![]()
Post
#12
|
|
Grupa: Zablokowani Postów: 42 Pomógł: 0 Dołączył: 24.01.2006 Ostrzeżenie: (30%) ![]() ![]() |
Ale ja nie napisałem:
if($zalogowany == true) tylko: if ($_SESSION["zalogowany"]=="tak") To zmusza przecież do pobrania nie z pasa tylko konkretnie z sesji. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
tak. to jest jak najbardziej poprawne w myśl 'bezpieczeństwa'
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 02:10 |