![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 331 Pomógł: 1 Dołączył: 23.05.2004 Skąd: Tarnów/Londyn Ostrzeżenie: (0%) ![]() ![]() |
czesc. mam nastepujacą sytuacje: server ma wlaczone register globals i nie ma mozliwosci ich wylaczenia. jest zmienna w adresie powiedzmy o nazwie $zmienna i zmienna sesyjna o tej samej nazwie jest nadpisywana przez zmienną w adresie ? jak zrobic zeby tak sie nie działo poza oczywistym sposobem jak zmiana nazwy którejs z nich
![]() -------------------- php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::.. www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Nie da rady. Taka jest już "zaleta" register_globals.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Ale przeciez nadal mozesz sie odwolac do $_SESSION[ 'zmianna' ] (ew. HTTP_...)?
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie. register_globals samo w sobie nie jest żadnym problemem. Problemem jest głupota ludzi którzy tego używają.
Wystarczy, że olejesz kompletnie ten "feature" i będziesz przykładnie używał $_POST itd. No, prawie wystarczy ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 331 Pomógł: 1 Dołączył: 23.05.2004 Skąd: Tarnów/Londyn Ostrzeżenie: (0%) ![]() ![]() |
Cytat Oprócz tego musisz inicjować wszystkie "normalne" zmienne, żeby ktoś ci nie zrobił variable poisoning. inicjowac? tzn jak ? -------------------- php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::.. www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Np. zmienne post: $dana = $_POST['dana'];...
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Nie, chodziło mi o coś innego. Np:
To by była katastrofa z register_globals, bo zawsze można wpisać w przeglądarce www.example.com/index.php?foobar=1. Innymi słowy, trzeba szczególnie uważać, żeby nie używać zmiennych, które mogą być niezainicjowane przez skrypt. Taka praktyka zawsze jest zła, ale tutaj jest szczególnie zła. W powyższym przykładzie trzeba dodać "else $foobar = false" lub "if (!empty($foobar))". |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 331 Pomógł: 1 Dołączył: 23.05.2004 Skąd: Tarnów/Londyn Ostrzeżenie: (0%) ![]() ![]() |
czyli np. dostaje login i haslo z formularza np. $_POST['login'], $POST['haslo']
i sprawdzam pozniej w zapytaniu mysql czy są poprawne. to powinienem ja przypisac do jakis zmiennych np. $login=$_POST['login'] czy sie odwoływac przez $_POST['login'] ? -------------------- php 5.1.2 & Apache 2.0.50 & MySQL 4.1.7 @ WinXP Pro
..:: GG 6449856 ::.. www.londyn.me.uk - ogłoszenia mieszkaniowe dla Londynu |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Obojętnie, wygodniej chyba przypisać do $login...
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 05:20 |