Kọmputa, Software
PHP agbaye ayípadà ninu awọn iṣẹ. Ṣe a agbaye ayípadà ni PHP
Lati ṣẹda kan ni kikun ojula, eyi ti o ni ọrọ iṣẹ ti o nilo lati mọ kan pupo. Ṣugbọn ohun ti o le ṣe e iwongba ti oto - o jẹ PHP. Awọn agbaye ayípadà ninu awọn siseto ede ti wa ni ko lo gan igba, sugbon ma lati mo bi o ti ṣiṣẹ, ma o jẹ pataki. Ti o ni iwadi ti awọn ohun ti o jẹ ati bi o ti ṣiṣẹ, a ti wa ni lilọ lati se ni yi article.
dopin
Nipa aiyipada, ti won ti wa ni opin si awọn agbegbe iṣẹ dopin. Ati bi lati ṣe ayípadà ri awọn faili ninu awọn oniwe-aala, eyi ti o le siwaju ati siwaju lo? Lati yi opin, ki o si ti pese ninu awọn PHP agbaye oniyipada.
Awọn Koko "agbaye"
Lẹhin awọn imuse ti iru ohun itọkasi, awọn data yoo ni anfani lati ṣiṣẹ pẹlu eyikeyi faili. Ti o ba ti ibikan nibẹ ni o wa jo si yi ayípadà, awọn eto yoo ma san ifojusi lori awọn agbaye ti ikede.
Idi ti iru kan ajeji ede? Awọn o daju wipe ni akoko kanna nibẹ ni o le wa agbegbe awọn ẹya. Sugbon ti won yoo wa ti iyasọtọ fun awon faili ibi ti kede. Ati fun gbogbo awọn iyokù yoo sise agbaye oniyipada PHP kilasi. Nitorina o gbọdọ jẹ ṣọra. Ati awọn ti o wà nibẹ ko si iyemeji, nibi ni ohun ti awọn apẹẹrẹ ohun ti won wo bi: agbaye a.
Nitori ti o ba kan faili yoo ni iwọle si awọn nọmba kan ti àwọn ayípadà, o yoo mu wọn rogbodiyan. Sugbon a ko le sọ fun awọn daju - agbegbe tabi agbaye ayípadà wa ni ka tabi patapata kuna. Nítorí, ti o ba jẹ lati forukọsilẹ ninu iṣẹ kan, o yẹ ki o jẹ ti ko si isoro. Ṣugbọn awọn lilo ti a ayípadà fun awọn oniwe-aala lati wa ni iṣoro. Nitorina, awọn be ti àkókọ awọn koodu pataki lati ni pẹkipẹki bojuto ati rii daju pe besi ni nibẹ ani a pataki ṣaaju si awọn wi rogbodiyan dide.
Miran ti irisi ti awọn gbigbasilẹ
Tẹlẹ / superglobals
Ni gbogbo siseto ede nibẹ ni o wa diẹ ninu awọn orukọ ti o ti wa hihaya fun diẹ ninu awọn ti awọn oniwe-iṣẹ. Nitorina, lati ṣẹda ni PHP agbaye oniyipada ti kanna orukọ yoo ko sise.
Eleyi siseto ede ni o ni awọn oniwe-ara abuda. Bẹ, o ṣe pataki ki awọn tẹlẹ oniyipada nibi ko ba wa ni fifi "Super", ti o ni, won ni o wa ko si ni gbogbo awọn ipo. Bawo ni mo ti le fix o? To tẹlẹ oniyipada je wa ni diẹ ninu awọn agbegbe agbegbe, o gbodo ti ni polongo bi wọnyi :. Global «ayípadà" O dabi lati wa ni awọn kanna bi ṣaaju ki o to sọ, otun? O jẹ otitọ, sugbon ko oyimbo. Jẹ ki a wo ni tẹlẹ "ija" ohun apẹẹrẹ:
- agbaye $ HTTP_POST_VARS;
- iwoyi $ HTTP_POST_VARS [ 'orukọ'].
O ba lero awọn iyato laarin wọn? Akiyesi pe ni PHP agbaye oniyipada ko ni dandan ni lati wa ni lo laarin awọn iṣẹ. O le paapaa wa ni gbe ni kan faili ti o ti wa ni to wa ni o.
Ìjápọ ati ailewu
Bi o ti le ri, ni PHP ṣẹda kan agbaye ayípadà ni ko kan isoro. Ṣugbọn jẹ nibẹ eyikeyi pato ojulumo ìjápọ? Bẹẹni, nibẹ ni o le wa airotẹlẹ iwa nigbati lilo agbaye. Sugbon ki o to pe, kekere kan backstory.
Ni version 4.2.0 awọn šẹ nipa aiyipada register_globals yi pada lati lori-ipinle to pa. Fun julọ awọn olumulo, yi ni ko gan pataki, sugbon ni asan. Lẹhin ti gbogbo, o taara yoo ni ipa lori awọn aabo ti awọn idagbasoke ọja. Ti o ba nilo lati ṣe awọn ayípadà agbaye, PHP-šẹ lori yi paramita ni ko taara fowo. Sibẹsibẹ, ti ko tọ lilo le tẹlẹ ṣẹda precedents aabo.
Nitorina ti o ba register_globals wa ni titan, ṣaaju ki awọn ipaniyan ti awọn kọ koodu initialized awọn ti o yatọ oniyipada ti o ti wa ni ti nilo, fun apẹẹrẹ lati fi HTML-pupo. Nitorina, ti o ti pinnu lati fi si pipa.
Idi ni ipinle ti yi šẹ ni PHP agbaye ayípadà lapapo Elo? Awọn o daju ni wipe nigba ti ipinle ti awọn Difelopa se ko nigbagbogbo pẹlu dajudaju le ara wọn dahun awọn ibeere ti ibi ti o ti wá lati. Lori awọn ọkan ọwọ, o jẹ rọrun lati kọ koodu. Sugbon lori awọn miiran - o jẹ kan aabo ewu. Nitorina, lati yago fun awọn aṣiṣe, bi daradara bi data dapọ itoni ti a ti alaabo.
Bayi jẹ ki ká wo ko / aabo koodu, bi daradara bi bi o si ri igba ibi ti awọn fii ti awọn agbaye PHP ayípadà wa ni de pelu igbiyanju ti ni Fifọwọkan data. Eleyi jẹ pataki ni lati le ṣẹda ko nikan lẹwa, sugbon o tun ni imurasilẹ ṣiṣẹ ojula ti o ko kiraki akọkọ wa eniyan.
irira koodu
Jẹ ká ṣeto ti o ayípadà jẹ otitọ fun awon ti o ti a ti fun ni aṣẹ:
ti o ba ti (authenticate_user ()) {
$ Fun laṣẹ = otitọ;
}
ti o ba ti ($ fun laṣẹ) {
ni "/highly/sensitive/data.php";
}
Ni yi ipinle, awọn ayípadà le ti wa ni ṣeto laifọwọyi. Considering wipe data le jiroro ni wa ni rọpo, ati awọn orisun ti won Oti ti a ko ti ṣeto, ki o si ẹnikẹni ti o le ṣe iru a igbeyewo ki o si dibọn lati wa ni ẹnikan. Ti o ba fẹ, awọn attacker (tabi o kan iyanilenu sugbon inexperienced eniyan) le wa ni ti bajẹ, wa kannaa.
Ti a ba yi awọn iye ti awọn šẹ, yi koodu yoo ṣiṣẹ ti tọ, bi a ti beere fun. Ṣugbọn initialization ti àwọn ayípadà jẹ ko nikan kan ti o dara ohun orin ninu awọn siseto, sugbon tun yoo fun wa kan awọn lopolopo ti awọn iduroṣinṣin ti awọn akosile.
Gbẹkẹle version of awọn koodu
o le pa tabi ṣiṣẹ directives, tabi juwe a eka sii koodu lati se aseyori yi ìlépa. Fun apẹẹrẹ, bi yi:
ti o ba ti (isset ($ _ igba [ 'olumulo'])) {
iwoyi "Hello {$ _ igba [ 'olumulo']} b>";
} Tu {
iwoyi "Hello Guest b>
";
iwoyi "Welcome olumulo!";
}
Ṣe a fidipo ninu apere yi, nibẹ ni yio je soro. Sugbon si tun - o ti ṣee. Lati ṣe eyi, o gbọdọ gba itoju ti dekun esi irinṣẹ won ti pese. Ti o ba fẹ lati ni agbaye oniyipada ni PHP, o le lo awọn wọnyi irinṣẹ: bi awa ba mọ ohun ti awọn ibiti o ni iye gba, o jẹ ṣee ṣe lati forukọsilẹ a akosile lati ṣayẹwo yi pẹlu a baramu. Dajudaju, o tun ko ṣe oniduro ni kikun Idaabobo lodi si fidipo iye. Sugbon ti o ni ju Elo awọn aṣayan significantly complicate.
Nwa igbiyanju lati masquerade
Jẹ ká wo bi o mọ kọ sẹyìn. Ni PHP agbaye oniyipada ni iṣẹ ti yoo wa fun ni isalẹ, iwọ yoo nilo lati sọ ara rẹ. A le so pe yi ni a irú ti amurele lori assimilation ti awọn ẹkọ koko. Eyi ni awọn koodu:
Php
ti o ba ti (isset ($ _ kukisi [ 'C_COOKIE'])) {
} Elseif (isset ($ _ Gba [ 'C_COOKIE']) || isset ($ _ Post [ 'C_COOKIE'])) {
mail ( "administrarot@example.com", "ọkan, awọn akosile ti a gba silẹ igbiyanju ni pa ati Fifọwọkan data", $ _SERVER [ 'REMOTE_ADDR']);
iwoyi "Ko si je a bajẹ tabi gbiyanju lati ṣe bẹ iwifunni awọn IT.";
jade;
} Tu {
}
?>
Bayi alaye moomo. Gba C_COOKIE ba de si wa lati kan gbẹkẹle orisun. Lati ni kikun ooto ni ibamu si awọn yẹ esi, a ṣayẹwo awọn oniwe-iye ati leti awọn administrator ni irú ti isoro. Ti o ba ko ni wa, ki o si ko si igbese ati ki o ko nilo lati ṣe. O ni lati ni oye wipe nìkan disabling register_globals šẹ ko ni ṣe koodu rẹ ni aabo. Nitorina, eyikeyi ayípadà ti o gba a akosile lati awọn olumulo, o yẹ ki o wa ni ẹnikeji fun awọn yẹ iye.
ipari
Nibi, ni apapọ, ati ohun gbogbo ti o nilo lati mo nipa awọn agbaye oniyipada to ni ifijišẹ ati ki o lailewu lo wọn ni iṣẹ wọn. Dajudaju, lati so pe o wa ni kan ni kikun lopolopo ti ko si ọkan yoo lo wọn ko le - attackers ti wa ni nigbagbogbo imudarasi won ọna ati ogbon. O ti wa ni Nitorina wuni lati se idinwo awọn ti o pọju lilo ti agbaye oniyipada ni awọn koodu. Da fun, awọn be ati oniru ẹya ara ẹrọ ti yi siseto ede le se aseyori yi ìlépa. Ti o dara orire!
Similar articles
Trending Now