Tuesday, May 23, 2006

Register_globals off

Aplicatiile Web interactioneaza cu utilizatorii, primind informatii de la acesta sub diferite forme.

Modalitatile prin care sunt transmise variabilele sunt ilustrate in figura de mai jos:

Prin setarea in php.ini a directivei register-globals toate aceste variabile pot fi accesate direct prin nume, fara a conta cum anume au fost preluate. Aceasta modalitate de lucru a fost considerata un mare avantaj in PHP pentru usurinta lucrului.

La variantele actuale de PHP (dupa 4.2.0) setarea by default este off. In acest fel variabilele sunt izolate dupa modul in care au fost create si poate fi determinta provenienta fiecareia.

In manualul PHP se specifica: setata pe on, directiva register_globals va determina injectarea de variablile cu scop global la nivelul scritpului. Acest lucru impreuna cu faptul ca in PHP initializarea variabilelor nu este obligatorie, duce la scrierea de cod vulnerabil. A fost o decizie dificila, dar comunitatea PHP a decis dezactivarea acetei directive.

0 Comments:

Post a Comment

<< Home