Kombiyuutarada, Software
PHP variable caalamiga ah ee shaqada. Samee variable caalamiga ah ee PHP
In la abuuro goob buuxa, taas oo uu leeyahay shaqeynayaan ballaadhan aad u baahan tahay in aad ogaato wax badan. Laakiin waxa ka dhigi kartaa isaga si dhab ah u gaar ah - waa PHP. variable caalamiga ah ee luuqadda programming waa mid aad inta badan aan la isticmaalin, laakiin mararka qaarkood in la ogaado sida ay u shaqayso, waa si fudud loo baahdo. Taasi waa barashada waxa ay tahay iyo sida ay u shaqayso, waxaan doonayaa in aan sameeyo in this article.
baaxadda
By default, waxay ku koobnayn baaxadda shaqo ee degaanka. Iyo sida loo sameeyo variable files arkay in xuduudahooda, taas oo ka badan iyo isticmaali kartaa? Si taas loo gaaro, iyo waxaa lagu bixiyaa PHP u doorsoomayaasha caalamka.
keyword The "caalami"
Ka dib markii fulinta sida ay calaamad u tahay, xogta in la file kasta shaqayn kari doonin. Haddii meel ay jiraan tixraacyo variable this, barnaamijka mar walba dhawri doonaa on version caalamka.
Maxaad sida afka qalaad? Xaqiiqada ah in waqti isku mid ah waxaa laga yaabaa in versions maxaliga ah. Laakiinse waxay idinku noqon doonaa la heli karo si gaar ah kuwa files meesha ku dhawaaqday. Oo kuwii kale oo dhan waxay ku dhaqaaqi doontaa doorsoomayaasha caalamiga ah fasalka PHP. Sidaa darteed waa in aad ka taxadartaa. Iyo in uu jiro shaki ku jirin, halkan tusaale ka mid ah waxa ay u eg: caalami ah.
Maxaa yeelay, haddii mid ka mid ah file yeelan doonaan in ay helaan tiro ka mid ah doorsoomayaasha, waxaa ka dhigi doonaa inay ka hor imanayn. Laakiin ma waxaan dhihi karaa waa hubaal - maxalliga ah ama caalamiga ah variable la akhriyo ama wadajir guuldareysto. Sidaas daraaddeed, haddii ay tahay in ay iska diiwaan gelin in shaqo ah, waa dhibaato lahayn. Laakiin isticmaalka variable ah xuduudaha ay dhibaato. Sidaa darteed, qaabka loo sawiri ilaa code barnaamijka lagama maarmaan ah in si dhow ula socdaan oo la hubiyo in meel jiro shardi u tahay khilaafka sheegay kacay.
muuqashadii kale ee wax lagu qoro
Sanyihiin / superglobals
In luqadda barnaamij kasta oo ay jiraan qaar ka mid ah magacyada in ay yihiin kiraysnaa qaar ka mid ah hawlaha ay. Sidaas awgeed, in la abuuro in PHP doorsoomayaasha caalamiga ah ee isku magaca ma shaqeyn doono.
luqadda barnaamijyada waxa uu leeyahay sifooyin u gaar ah. Sidaas daraaddeed, waxaa muhiim ah halkan ka doorsoomayaasha sanyihiin aan ku rakibidda "super", taas oo ah, waxay ma laga heli karaa goobaha oo dhan. Sidee baan u hagaajin karaa? Si aad u doorsoomayaasha sanyihiin ahaa laga heli karaa xaafadda qaar, waa in la sheegay in sida soo socota :. Global «Doorsoome" Waxa ay u muuqataa in ay isku mid noqdaan sidii hore u sheegay, sax? Waa run, laakiin ma aha arrin. Ina keena aynu eegno mar hore "dagaal" tusaale:
- $ Caalamka HTTP_POST_VARS;
- celinayaan $ HTTP_POST_VARS [ 'magaca'].
Waxaad dareemi farqiga u dhexeeya? Ogow in PHP doorsoomayaasha caalamiga ah khasab ma aha in la isticmaalo gudahood shaqada. Waxaa xitaa waxaa lagu qori karaa file a in waxaa ka mid ah waxa ku jira.
Links iyo ammaanka
Sida aad arki karto, in PHP abuuro variable caalami ah maaha wax dhibaato ah. Laakiin waa ay jiraan wax xiriir qaraabo gaar ah? Haa, waxaa laga yaabaa in dabeecadda lama filaan ah marka la isticmaalayo caalamka. Laakiin ka hor in, wax yar backstory ah.
In version 4.2.0 amarka by register_globals default bedelay on-state si off. Waayo, dadka isticmaala inta badan, tani ma aha mid aad u muhiim ah, laakiin aan micne lahayn. Ka dib oo dhan, waxay si toos ah saameyn ku yeelanayso nabadgelyada ee alaabta la horumariyo. Haddii aad u baahan tahay si aad u samayso variable caalamka, PHP-dardaaran on dhimaya this waxaa si toos ah ma saameeyeen. Si kastaba ha ahaatee, isticmaalka khaldan hore u abuuri karaan ammaanka oo laysku raacsan.
Sidaas darteed haddii register_globals u rogmatay on, ka hor inta fulinta xeerka ku qoran initialized u doorsoomayaasha kala duwan in loo baahan yahay, tusaale ahaan si ay u soo diri-HTML foomamka. Sidaa darteed, waxaa la go'aamiyay in ay dami.
Waa maxay sababta gobolka dardaaran this ee variable caalamka php ku leedahay badan? Xaqiiqdu waxay tahay in markii gobolka ku dhiirigelinayaan in uu had iyo jeer ma sameeyaan huba isu jawaabi kara su'aasha ah ee meel ay ka yimaadeen. Dhinaca hal, waxaa ka hawl yar in ay qoraan code. Laakiin dhinaca kale ah - waa khatar dhinaca ammaanka ah. Sidaa darteed, si looga fogaado in khaladaad, iyo sidoo kale macluumaadka la isku qasin iyo dardaaran ayaa lagu naafada ah.
Haddaba bal aynu eegno aan / code ammaan ah, iyo sidoo kale sida loo ogaado kiisaska dhawaaqay of variable caalamiga ah PHP waxaa la socda isku day at halleynaya xogta. Tani waa lagama maarmaan si loo abuuro ma aha oo kaliya qurux badan, laakiin sidoo kale si tartiib ah goobaha aan crack qofka ugu horeeya laga heli karaa shaqada.
code xaasidnimo ah
Aynu dhigay in variable waa run, waayo, kuwa la oggol yahay:
haddii (authenticate_user ()) {
$ Fasaxayaa = runta ah;
}
haddii ($ fasaxayaa) {
waxaa ka mid ah "/highly/sensitive/data.php";
}
In gobolka this, variable waxaa si otomaatik ah kartaa. Ma garato in xogta si fudud loo beddeli karo, iyo halka ay ka soo jeedo aan la dhigay, ka dibna qof u gudbin kartaa imtixaanka noocan oo kale ah oo iska dhig sidii mid qof kale. Haddii la doonayo, weeraryahanka (qofka kaliya ama lala yaabo, laakiin u hureen) adkaanaysaa laga yaabaa, our macquulka ah.
Haddii aan la beddelo qiimaha amarka, xeerkan si sax ah u shaqeyn doona, sida aan loo baahan yahay. Laakiin initialization ee doorsoomayaasha ma aha oo kaliya waa ohyahay camalkooda wanaagsan ee barnaamijyada, laakiin sidoo kale na siinaysaa damaanad ah qaar ka mid ah xasiloonida ee script ah.
version kalsoonaan karo oo ah xeerka
waxaad u tagi kartaa off ama shaqeeyaan dardaaranka, ama qori code ka sii adag si loo gaaro yoolkaas. Tusaale ahaan, sidan oo kale:
haddii (isset ($ _ KULAN [ 'username'])) {
echo "Hello {$ _ KULAN [ 'username']} b>";
} {Kale
echo "Hello Marti b> />
celinayaan "user Welcome!";
}
Samee bedelay a kiiskan, waxaa jiri doona adag. Laakiin weli - suurto gal. Si arrintan loo sameeyo, waa in aad is ogow in qalabka jawaab degdeg ah ayaa la siiyey. Haddii aad rabto inaad ka mid ah doorsoomayaasha caalamka in PHP, waxaad isticmaali kartaa qalabka soo socda: haddaynu og nahay waxa kala duwan yahay qiimaha helay, waxaa suurto gal ah in ay diiwaan-script ah in this hubi kulan. Dabcan, waxa kale oo aanu damaanad qaadi ilaalin buuxda ka dhan ah qiimaha bedelay. Laakiin taasi waa fursado aad u badan si weyn u adkeeyay.
Raadiyaa isku day in ay isu ekaysiiyaan
Aan aragno sida aad wax u kastaan hore oo qoraal ah. In PHP doorsoomayaasha caalamka in shaqada laga hoos ku siin doonaa, waxaad u baahan doontaa in aad naftaada u sheegi. Waxaan dhihi karnaa in tani ay tahay nooc ka mid ah shaqada guriga ku milmaan ee mawduuca casharka. Halkan waxaa ku qoran xeerka,
Php
haddii (isset ($ _ buskudka [ 'C_COOKIE'])) {
} Elseif (isset ($ _ HELI [ 'C_COOKIE']) || ($ _ POST [ 'C_COOKIE']) isset) {
mail ( "administrarot@example.com", "Attention, script la diiwaan isku day at jabsiga iyo halleynaya data", $ _SERVER [ 'REMOTE_ADDR']);
celinayaan "Waxaa jiray ammaanka ka jabay ama isku dayaan in ay sidaa sameeyaan wargalin maamulaha.";
exit,
} {Kale
}
?>
Haddaba sharaxaad ku daraa. Qayb ahaan C_COOKIE inoo yimaadoba ka il lagu kalsoonaan karo. Si aad si buuxda ku qanacsanaa sida ay natiijada la filayaa, waxaan hubin miraheeda iyo ogeysiin maamulaha haddii ay dhacdo dhibaatooyinka. Haddii ay ku iman mayso, markaa wax tallaabo ah oo waxba ma ay u baahan tahay in la sameeyo. Waxaad leedahay in la fahmo in si fudud naafada register_globals dardaaranka ma ha aad code waa aamin. Sidaa darteed, variable kasta oo hela script ka user ah, in la hubiyaa qiimaha la filayo.
gunaanad
Halkan, guud ahaan, iyo wax kasta oo aad u baahan tahay inaad ogaato oo ku saabsan doorsoomayaasha caalamka in ay si guul ah iyo si ammaan ah u isticmaalaan in ay shaqada. Dabcan, in la yidhaahdo in uu jiro damaanad buuxda oo aan ninna u isticmaali doonaan iyaga ma kari karto - weerarka si joogto ah horumarinta hababka iyo xirfadahooda. Sidaas awgeed waa la jecel yahay in la xadido isticmaalka ugu badan ee doorsoomayaasha caalamiga ah ee code ka. Nasiib wanaag, qaab-dhismeedka iyo design qaababka luqadda barnaamijyada this gaari karo hadafkan. nasiib wacan!
Similar articles
Trending Now