Amakhompyutha, Isofthiwe
PHP variable global e umsebenzi. Yenza variable global e PHP
Ukudala indawo egcwele, okuyinto has ukusebenza ezibanzi odinga ukukwazi eziningi. Kodwa yini engenza kuye eyingqayizivele ngempela - kuba PHP. I variable global ngolimi izinhlelo alisetshenziswa ngokuvamile kakhulu, kodwa ngezinye izikhathi ukwazi ukuthi isebenza kanjani, ngezinye izikhathi kuyadingeka. Lokho kusho ukufunda lokho kusho ukuthini futhi kusebenza kanjani, siyaphi ukwenza kulesi sihloko.
ububanzi
Ngokuzenzakalelayo, enqindwa wendawo umsebenzi ububanzi. Futhi indlela yokwenza ukubonwa amafayela okuguquguqukayo yalo, okungase ngaphezulu bese usebenzisa? Kuze kube yimanje, futhi inikezwe PHP eziguquguqukayo global.
I elisemqoka "global"
Ngemva ukuqaliswa inkomba ezinjalo, idatha bazokwazi ukusebenza noma yiliphi ifayela. Uma endaweni ethile kukhona izinkomba lokhu okuguquguqukayo, uhlelo uyohlale unake ku version global.
Kungani ulimi angalwazi enjalo? Iqiniso lokuthi ngesikhathi esifanayo kungase kube izinguqulo zendawo. Kodwa izotholakala kuphela ngalawo mafayela lapho kumenyezelwa. Futhi bonke abanye uyokwenza eziguquguqukayo global ekilasini PHP. Ngakho-ke kumelwe uqaphele. Futhi kungabi nakungabaza kwaba, nakhu isibonelo ukuthi abukeka kanjani: a global.
Ngoba uma ifayela elilodwa bayokwazi ukufinyelela inombolo lokwehlukile, kuzobangela ukuba zishayisane. Kodwa thina asinakulokotha sizifake ngokuqiniseka - wendawo noma global ★ ofundiwe noma ngokuphelele ehluleka. Ngakho, uma kuwukuthi ubhalise umsebenzi, kufanele kube yinkinga. Kodwa ukusetshenziswa kwenombolo for kwemingcele yayo ukuba yinkinga. Ngakho-ke, ukwakheka nokubhalwa ikhodi ezidingekayo eduze iqaphe futhi uqiniseke ukuthi akukho ndawo lapho ngisho imfuneko ukuba impi wathi ezaphakama.
Enye samuntu ukuqopha
Echazwe ngaphambilini / superglobals
Kuwo wonke ulimi lokwakha izinhlelo kukhona ezinye amagama ukuthi laqasha kwabanye imisebenzi yawo ngokupheleleko. Ngakho-ke, ukudala e PHP eziguquguqukayo global of the gama elifanayo ngeke zisebenze.
Lolu limi izinhlelo has izici zayo siqu. Ngakho, kubalulekile ukuthi eziguquguqukayo achazwe lapha kungukuthi kokufaka "super", okungukuthi, lokho akusho ukuthi itholakale kuzo zonke izindawo. Ngingayithola kanjani ukukulungisa? Ukuze eziguquguqukayo achazwe yayitholakala ezinye endaweni, kufanele lishiwo kanje Global «variable :." Kubonakala sengathi iyafana phambi watshela, angithi? Kuyiqiniso, kodwa hhayi ngempela. Ake sibheke kakade "elwa" isibonelo:
- $ Global HTTP_POST_VARS;
- senanele $ HTTP_POST_VARS [ 'igama'].
Uzizwa umehluko phakathi kwabo? Qaphela ukuthi PHP eziguquguqukayo global akubalwa kufanele zisetshenziswe ngaphakathi umsebenzi. Lingase afakwe ifayela likhona ke.
Izixhumanisi nokuphepha
Njengoba ubona, e PHP ukudala variable global akuyona inkinga. Kodwa ingabe sikhona izixhumanisi ethile isihlobo? Yebo, kungase kube indlela yokuziphatha engalindelekile lapho usebenzisa global. Kodwa kungakenzeki lokho, a backstory kancane.
In version 4.2.0 nesiqondiso ngokwakhona register_globals washintsha esuka ku-isimo off. Kubasebenzisi abaningi, lena akuyona kubaluleke kakhulu, kodwa kwanhlanga zimuka nomoya. Phela, oluthinta ngqo ukuphepha komkhiqizo athuthukile. Uma udinga ukwenza variable global PHP-umyalelo ngalolu ipharamitha alithintwa ngqo. Nokho, ukusetshenziswa engalungile kungaba kakade ukwakha izibonelo nokuvikeleka.
Ngakho uma register_globals sivuliwe, ngaphambi ukubulawa kwabo esilotshiwe ukuqaliswa eziguquguqukayo ezahlukene ukuthi kudingeka, isibonelo ukuthumela ku-HTML amafomu. Ngakho-ke, kwanqunywa ukuba uyivale.
Kungani isimo lesi siqondiso e php variable global ukweleta kakhulu? Iqiniso liwukuthi lapho isimo onjiniyela benze ngaso sonke isikhathi ngokuqiniseka kungenzeka bona siphendule umbuzo othi lapho evela khona. Ngakolunye uhlangothi, kuba lula ukubhala ikhodi. Kodwa ngakolunye - kuba ingozi yokuphepha. Ngakho-ke, ukuze ugweme amaphutha, kanye nedatha ukuxuba futhi umyalelo ivimbelwe.
Manje ake sibheke ezinye hhayi / ikhodi ephephile, kanye nendlela ukuthola ezimweni lapho isimemezelo global PHP variable kuhambisana nemizamo zingaphazamisi idatha. Lokhu kuyadingeka ukuze udale hhayi kuphela enhle, kodwa futhi amasayithi musa crack lomuntu lokuthoma etholakalayo kancane kancane ukusebenza.
ikhodi enonya
Masihlele ukuthi variable Kunjalo ngalabo ogunyaziwe abaye:
uma (authenticate_user ()) {
$ Gunyaza = kweqiniso;
}
uma ($ bagunyaze) {
zihlanganisa "/highly/sensitive/data.php";
}
Kuleli zinga, variable lingasethwa ngokuzenzakalelayo. Uma ucabanga ukuthi idatha umane isikhala sikaJuda, futhi umthombo imvelaphi yabo kungasethiwe, noma ubani angaba baphumelele isivivinyo ezinjalo, uzishaye omunye umuntu. Uma wayefisa, umhlaseli (noma umuntu nje ukwazi kodwa ongenalwazi) kungenzeka kahle, logic yethu.
Uma sikuguqule ukubaluleka nesiqondiso, le khodi ngeke isebenze kahle, njengoba thina kudingeka. Kodwa Ukuqalisa lokwehlukile akuyona nje ithoni okuhle uhlelo, kodwa futhi kusinika isiqinisekiso ezithile ukuzinza iskripthi.
okufushane Esingawethemba ikhodi
ungavala noma ukusebenza iziqondiso, noma linqume ikhodi eziyinkimbinkimbi ukuze kufinyelelwe lo mgomo. Ngokwesibonelo, kanje:
uma (isset ($ _ ISAHLUKO [ 'igama lomsebenzisi'])) {
echo "Sawubona {$ _ ISAHLUKO [ 'igama lomsebenzisi']} b>";
} Else {
echo "Sawubona lezivakashi b>
";
echo "Siyakwamukela umsebenzisi!";
}
Yenza esikhundleni kuleli cala, kuzoba nzima. Kodwa namanje - kungenzeka. Ukuze wenze lokhu, kuzomele unakekele ukuthi amathuluzi ngokushesha Ukusabela zanikezwa. Uma ufuna ukufaka eziguquguqukayo global e PHP, ungasebenzisa amathuluzi ezilandelayo: uma sazi ukuthi lebanga ukubaluleka etholwe, kungenzeka ukubhalisa iskripthi uhlole lokhu nge ukufana. Yiqiniso, futhi akuqinisekisi isivikelo ngokugcwele ngokumelene esikhundleni amagugu. Kodwa lokho ongakhetha kakhulu kakhulu izinkinga.
Ithola imizamo azenza
Ake sibone ukuthi yini kutsi zalotshwa ngaphambi kwalokho. Ngo PHP eziguquguqukayo wonke esikhathini umsebenzi uzonikezwa ngezansi, uzodinga ukumemezela ngokwakho. Singasho ukuthi lena uhlobo umsebenzi wesikole on nokwenziwa esifundweni sihloko. Nansi ikhodi:
Php
uma (isset ($ _ COOKIE [ 'C_COOKIE'])) {
} Elseif (isset ($ _ THOLA [ 'C_COOKIE']) || isset ($ _ POST [ 'C_COOKIE'])) {
mail ( "administrarot@example.com", "Ukunakwa, iskripthi sabhalwa kuwumzamo ukugqekeza zingaphazamisi idatha", $ _SERVER [ 'REMOTE_ADDR']);
echo "Kube ukuphepha eliphukile noma azame ukwenza lokho ukuze aziswe uMphathi.";
ephumayo;
} Else {
}
?>
Manje incazelo nalokho. Ngokwengxenye C_COOKIE iza kithi emthonjeni onokwethenjelwa. Ukuze wanelisa ngokugcwele ngokuvumelana yi kulindeleke, sihlole ukubaluleka kwalo futhi ikwazise umlawuli uma izinkinga. Uma kungafiki ke akukho senzo futhi akazange okudingeka uzenze. Kumele baqonde ukuthi umane ukukhubaza somyalelo register_globals ayenzi ikhodi yakho ivikelekile. Ngakho-ke, iyiphi variable othola iskripthi esivela umsebenzisi, kufanele kuhlolelwe elilindelekile.
isiphetho
Lapha, ngokuvamile, futhi konke odinga ukukwazi mayelana eziguquguqukayo global ngempumelelo futhi ngokuphepha zisebenzisa emsebenzini wabo. Yiqiniso, ukusho ukuthi kukhona isiqinisekiso ngokugcwele ukuthi akekho umuntu ukuzisebenzisa bengayi - abahlaseli njalo ekuthuthukiseni izindlela zabo namakhono. Ngakho-ke efiselekayo ukhawule ukusetshenziswa esiphezulu lokwehlukile global ikhodi. Ngenhlanhla, isakhiwo kanye nomklamo izici zalesi ulimi lokwakha izinhlelo kungaba sifinyelele lo mgomo. Ngikufisela inhlahla!
Similar articles
Trending Now