PHP Superglobal Variables és Register_Globals
A PHP-nek van egy speciális változója, amelyet superglobalnak hívnak. Ezek a változók azért vannak különlegesek, mert automatikusan elérhetőek minden PHP program számára anélkül, hogy a programozó létrehozná vagy meghatározná azokat a programjában. Gondolhat rájuk, mint "beépített" változókra.

A változók elérésének módja attól függ, hogy a register_globals be van-e kapcsolva vagy ki-e a szerveren. A PHP 4.2-es verziója előtt a register_globals alapértelmezés szerint be volt kapcsolva. Biztonsági okokból; ez a beállítás alapértelmezés szerint ki van kapcsolva (4.2 vagy újabb verzió). Természetesen a kiszolgálót futtató emberek döntenek arról, hogy felülbírálják-e az alapértelmezett beállítást, és bekapcsolják-e a register_globals-t. Saját szerver tesztelésének legegyszerűbb módja a phpinfo () használata. Valószínűleg van egy link erre a weboldalra a webhely adminisztratív területén. Ezen a weblapon található a Configuration PHP Core szakasz, amely ezen információkat tartalmazza.

Mint fentebb már említettük, a szuperglobálokhoz a kiszolgáló beállításától függően különféleképpen fog hozzáférni. Az új szerver beállításához a superglobálok új neveket kaptak. Ha a szerver továbbra is használja a régi beállítást, jobb az új nevek használata. Ha ezeket az új neveket használja, akkor biztos lehet benne, hogy programjai mindkét szerverkonfigurációban működni fognak. A régi nevek esetében ez azonban nem érvényes. Csak a régi kiszolgálókonfigurációhoz fognak működni. Az alábbi táblázat a régi és az új neveket, valamint a szupergömbök leírását mutatja. Vegye figyelembe, hogy ezeknek a szupergömböknek a neve minden nagybetűvel szerepel.

ÚjRégiLeírás
$ _GET $ HTTP_GET_VARS Ez a szuperglobális tartalmazza a get módszerrel a programnak küldött változókat, például egy gérós karakterláncot.
$ _POST $ HTTP_POST_VARS Ez a szupergömb tartalmazza azokat a változókat, amelyeket post módszerrel küldtek a programhoz.
$ _COOKIE $ HTTP_COOKIE_VARS Ez a szuperglobális változó a cookie-k által a program számára elérhető változókat tartalmazza.
$ _SESSION $ HTTP_SESSION_VARS Ez a szupergömb a program által egy munkamenet során regisztrált változókat tartalmazza.
$ _FILES $ HTTP_POST_FILES Ez a szupergömb a fájlfeltöltés során elérhető változókat tartalmazza.
$ _ENV $ _HTTP_ENV_VARS Ez a szupergömb a kiszolgálói környezetből elérhető változókat tartalmazza.
$ _REQUEST -- Ez a szupergömb tartalmazza azokat a változókat, amelyeket bármilyen típusú felhasználói bevitel útján küld a programnak. Ez a szuperglobál általános vagy univerzális típusa.
$ _SERVER -- Ez a szupergömb információt tartalmaz a szerverről, például a fájl elérési útjairól.





Video Utasításokat: What is Register_Globals? In PHP (Lehet 2024).