Ordenagailuak, Software
PHP aldagai global funtzioa ere. Egin PHP aldagai global bat
erabateko gune bat, eta horrek funtzionalitate zabala dauka asko jakin behar dituzu. Baina zer benetan berezia zion egin daitezke - PHP da. programazio hizkuntzan aldagai global erabiltzen ez oso maiz, baina batzuetan nola funtzionatzen duen jakin, batzuetan beharrezkoa da. Hori zer da eta nola funtzionatzen duen, artikulu honetan egin dugu azterketa da.
esparrua
Berez, bertako funtzioa esparrua dira mugatuta. Eta zenbat aldagai ikusi fitxategiak egiteko bere mugak, eta horrek ezin gehiago eta erabili? Horretarako, hiztegi horiek PHP aldagai global emandako.
hitzarekin "global"
esaterako zantzurik ezartzeko ondoren, datuen edozein fitxategi lan egiteko gai izango da. nonbait badaude aldagai honen erreferentziak, programak beti arreta bertsio global orrian.
Zergatik hizkuntza arraro bat, hala nola? Izan ere, aldi berean, ez tokiko bertsioak izan daitezke. Baina eskuragarri izango dute esklusiboki bertan iragarri fitxategi horiek egiteko. Eta gainerako guztientzat aldagai global jardun dira PHP klasean. Beraz, kontuz ibili behar duzu. a global: Eta ez zela zalantzarik ez, hemen zer itxura dute adibide bat.
Zeren baldin fitxategi bat aldagai kopuru bat eskuratu ahal izango dute, gatazkaren horietako eragingo du. Baina ezin dugu esan ziur - lokal edo global aldagai irakurtzen edo guztiz huts egiten. Beraz, ez da funtzio bat erregistratu bada, ez dago arazorik izan behar du. Baina bere mugak aldagai baten erabilera problematikoa izan. Beraz, estuki kontrolatzeko eta ziurtatu beharrezko Kodea idazteko egitura hori inon ez dago, nahiz eta esan gatazka ezinbesteko baldintza zen.
Grabazio horren isla Another
Aurretik zehaztutako / superglobals
programazio hizkuntza guztietan ez direla bere funtzio batzuk pleitatu izen batzuk. Beraz, PHP izen bera ez du funtzionatzen aldagai global batean sortu.
programazio hizkuntza honek bere ezaugarriak ditu. Beraz, garrantzitsua da hori aurrez zehaztutako aldagai hemen ez direla "super" instalatzen, hau da, ez dira guztietan eskuragarri. Nola konpondu dut? To aurrez definitutako aldagai zegoen eskuragarri tokiko batzuk, honela :. orokorrak «aldakorra deklaratu behar da" berdinak izatea aurretik esan bezala dirudi, ezta? Egia da, baina ez nahiko. Ikus dezagun dagoeneko "borrokan" adibide bat gurekin:
- $ Global HTTP_POST_VARS;
- oihartzuna $ HTTP_POST_VARS [ 'izena'].
bien arteko aldea sentitzen zara? Kontuan izan PHP aldagai global ere ez du zertan den funtzioaren barruan erabili ahal izateko. daiteke, nahiz eta hori da sartutako fitxategi batean jartzen da.
Loturak eta segurtasuna
Ikusten duzun bezala, PHP sortu aldagai global bat da, ez da arazo bat. Nik ere ez erlatiboa loturak bereziki? Bai, han ustekabeko portaera izan daiteke global erabiliz. Baina hori baino lehen, backstory pixka bat.
4.2.0 bertsioan register_globals lehenetsi zuzentaraua on-egoera batetik off aldatu. erabiltzaile gehienentzat, hau ez da oso garrantzitsua, baina alferrik. Azken finean, zuzenean garatutako produktuaren segurtasuna eragiten die. egiteko behar baduzu aldagai global, PHP-zuzentaraua parametro honetan ez dago zuzenean kaltetutako. Hala ere, erabilera okerrak, dagoeneko sortu ahal aurrekari segurtasuna.
Beraz register_globals bada aktibatuta dago, idatzizko kodearen exekuzioa abiarazi desberdinak aldagai behar diren lehen, adibide HTML-inprimakiak bidaltzeko. Beraz, itzali erabaki zen.
Zergatik da php aldagai global zuzentarau horren egoerari zor askoz? Izan ere, orduan Garatzaileek egoera ez da beti ziurtasunez ezin non zen galderari erantzuteko beraiek. Alde batetik, errazagoa da kodea idazteko. Baina bestetik - segurtasun arriskua dago. Beraz, akatsak, baita datu nahastuz saihesteko eta zuzentaraua desgaitu da.
Orain dezagun ez / code segurua, baita nola kasu non global PHP aldagai iragarkian da saiakerak lagunduta datuak manipula at detektatzeko. Hau ez da beharrezkoa, ez bakarrik ederrak sortzeko, baina baita etengabe lanean ez duten crack lehen eskuragarri Pertsona guneak.
kode kaltegarria
Dezagun aldagai hori izan diren baimendutako dutenentzat egia da:
bada (authenticate_user ()) {
$ Baimena = true;
}
bada ($ authorize) {
besteak beste, "/highly/sensitive/data.php";
}
Egoera honetan, aldagai automatikoki ezar daiteke. datu hori besterik ordezkatu daiteke, eta beren jatorrizko iturburua ez da ezarri kontuan hartuta, gero edonork proba bat gainditu ahal eta asmoa beste norbait izateko. Nahi izanez gero, erasotzaileak (edo pertsona bitxi baina esperientziarik besterik) oztopa daitezke, gure logika.
zuzentaraua balioa aldatzen badugu, kode hau behar bezala funtzionatuko du, beharrezkoa dugu. Baina aldagai hasieratze ez bakarrik programazioan tonu ona da, baina baita gidoia egonkortasuna bermea jakin bat ematen digu.
Seriotasuna kodea bertsio
desaktibatzeko dezakezu edo lan zuzentarau, edo kodea konplexuagoa helburu hori lortzeko prescribe. Adibidez, honelako:
bada (isset ($ _ SAIOA [ 'username'])) {
oihartzun "Kaixo {$ _ SAIOA [ 'username']} b>";
} Bestela {
oihartzun "Kaixo Gonbidatu b>
";
oihartzuna "Ongi etorri erabiltzailearen!";
}
Egin aldaketa bat, kasu honetan, ez da zaila izango da. Baina oraindik - posible. Horretarako, arreta hori azkar erantzun tresnak eskaini zitzaizkien hartu behar duzu. PHP aldagai global sartzea nahi baduzu, honako tresnak erabil daiteke: badakigu zer barrutia lortutako balioa bada, posible da gidoi bat hau hautatu partida bat erregistratu da. Jakina, ere ez du ordezkapen balioen aurkako babes osoa bermatzen. Baina hori gehiegi aukerak nabarmen zaildu.
Bilatzeko den maskarada saiakera
Ikus dezagun nola lehenago idatzia ulertzen dezagun. PHP funtzioa aldagai global azpitik emango zaie, zeure burua aldarrikatu beharko duzu. Esan dezakegu hau dela etxeko lanak moduko bat ikasgaia gaia asimilazioa da. Hemen kodea da:
Php
bada (isset ($ _ COOKIE [ 'C_COOKIE'])) {
} ELSEIF (isset ($ _ GET [ 'C_COOKIE']) || isset ($ _ POST [ 'C_COOKIE'])) {
mail ( "administrarot@example.com", "Arreta, gidoia Lapurreta saiakera eta datuak manipula grabatu zen", $ _Zerbitzaria [ 'REMOTE']);
echo "Ez zegoen hondatutako segurtasuna edo saiatuko hacerlo administratzaileak jakinaraziko.";
irteera;
} Bestela {
}
?>
Orain azalpen hauekiko. Hodeiak C_COOKIE gurekin dator iturri fidagarri bat. Guztiz asetzen du espero emaitza arabera, bere balioa egiaztatu dugu eta administratzaileak jakinaraziko arazoak kasuan. Ez bada etortzen, gero ekintza ez eta ez zuen behar egiteko. besterik gabe desgaituz register_globals zuzentaraua ez du zure kodea segurua dela ulertu behar duzu. Beraz, gidoi bat jasotzen dituen erabiltzaileari edozein aldagai, behar da, aurreikusitako balioa berrikusi.
ondorio
Hemen, orokorrean, eta dena den aldagai global arrakastaz eta segurtasunez erabili horiek beren lanetan buruz jakin behar duzu. erasotzaileen etengabe bere metodo eta trebetasunak hobetzeko - Noski, hori berme osoa dela inor ere ez erabili beharko da esateko. beraz Komenigarria da gehienez aldagai global erabilera kodean mugatzeko. Zorionez, egitura eta diseinua programazio hizkuntza honen ezaugarriak Helburu hori lortzeko daiteke. Zorte ona izan!
Similar articles
Trending Now