Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> nadpisywanie zmiennej sesyjnej
a79rtur
post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hawk
post
Post #2





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:
  1. <?php
  2. if (userIsLoggedIn()) {
  3. $foobar = true;
  4. }
  5. //...
  6. if ($foobar) {
  7.  //ok, logged in
  8. }
  9. ?>

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))".
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 07:22