Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: --- usunieto przez autora ---
Forum PHP.pl > Forum > PHP
lunter
--- usunieto przez autora ---
Leezard
jesli chcesz sie pozbyc zmiennych globalnych to mozesz wykorzystac tablice $_GLOBALS, w ktorej masz wszystkie zmienne zadeklarowane globalnie

to samo mozesz robic z innymi autoglobalami
Imperior
  1. <?php
  2. foreach ($_GET as $key => $val) {
  3. if (isset(${$key})) {
  4. unset(${$key});
  5. }
  6. }
  7. ?>


itp.
dr_bonzo
Jesli masz dostep do .htaccess to ustaw w nim
Kod
php_flag register_globals off

i sprawdz czy dziala (np. mozesz miec wylaczona obsluge php_flag'ow).
Jest to lepsze rozwiazanie niz unsetowanie wsyzstkich zmiennych.
DeyV
  1. <?php
  2.  
  3. $GLOBALS = array();
  4.  
  5. ?>
Imperior
@DeyV: zapomniałeś _ przed GLOBALS, ale to już jest hardcore, co z innymi użytecznymi zmiennymi które pójdą się * ?
czachor
@Imperior: nie zapomniał smile.gif
ActivePlayer
ale autor chyba wolałby zeby unsetnąć tongue.gif wszystkie zmienne poza globalnymi smile.gif
Leezard
Cytat(ActivePlayer @ 2005-02-26 20:52:49)
ale autor chyba wolałby zeby unsetnąć tongue.gif wszystkie zmienne poza globalnymi smile.gif

autor napisal o zmiennych dostarczanych i o register_globals, wiec mysle ze powinno pomoc przejechanie sie po $_GET i $_POST w celu usuniecia "dostarczonych" i moze $_GLOBALS

ale jak to czasami bywa nie zawsze wiadomo "co poeta mial na mysli biggrin.gif"
dr_bonzo
Jako ze poeta jeszcze zyje moze nam powie co mial na mysli...
Imperior
Cytat(Imperior @ 2005-02-26 19:10:14)
@DeyV: zapomniałeś _ przed GLOBALS, ale to już jest hardcore, co z innymi użytecznymi zmiennymi które pójdą się * ?

Racja, tak żadko z tego korzystam, że usilnie staram się _ wstawić przed każdą superglobalną smile.gif

Wkażdym razie moja nauczecielka z polskiego mówi, że poete każdy może interpretować jak chce...
ActivePlayer
pisalem kiedys skrypt, który 'deglobalizowal' register_globals = ON

robilem to na takiej zasadzie:
  1. <?php
  2.  
  3. foreach($_POST as $id=>$wartosc)
  4. {
  5. unset($id);
  6. }
  7.  
  8. ?>

i tak samo dla get session i cookies.

mysle ze jak dasz sobie cos takiego na starcie, a do tego zrobisz potem unset i tych globalnych, to mozesz byc bezpieczny ze nawet przy globals = on nic niechcianego nie przyjdzie do skryptu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.