KwamfutocinSoftware

PHP duniya m, a cikin aikin. Make a duniya m, a PHP

Don ƙirƙirar cikakken site, wanda yana da m aiki kana bukatar ka sani da yawa. Amma abin da zai iya sanya shi gaske musamman - shi ne PHP. The duniya m a cikin shirye-shirye da harshen da ba a amfani sau da yawa sosai, amma wani lokacin su san yadda yake aiki, wani lokacin shi wajibi ne. Wannan shi ne nazarin abin da shi ne da kuma yadda yake aiki, za mu yi a wannan labarin.

Zangon

Saboda haka kiran da mahallin a cikin abin da m, kuma Ya ƙaddara. A mafi yawan lokuta, suna da daya kadai ikon yinsa. Lokacin da PHP duniya canji ɗora Kwatancen daga sauran fayiloli, to, yana iya zama m (hada) da ake bukata (bukatar).

By tsoho, suna iyakance zuwa gida aiki ikon yinsa. Kuma da yadda za a yi m gani fayiloli a iyakokinta, wanda zai iya more kuma amfani? Don wannan karshen, kuma aka bayar a cikin PHP duniya canji.

A keyword "duniya"

Kuma a nan ne yadda za a bayyana a duniya m zuwa php? A cimma wannan burin zai taimake mu da kalmar "duniya". Wajibi ne a sanya a gaban m cewa kana so ka yi duniya (narimer, duniya «A m").

Bayan aiwatar da irin wannan nuni, da bayanai za su iya aiki tare da wani fayil. Idan wani wuri akwai nassoshi wannan m, wannan shirin za yaushe kula a kan duniya version.

Me ya sa irin wani bakon harshe? Gaskiyar cewa a lokaci guda akwai iya zama gida versions. Amma za su zama samuwa na musamman ga wadanda fayiloli inda ta sanar. Kuma ga duk sauran za su yi aiki a duniya canji PHP aji. Saboda haka dole ne ka yi hankali. Kuma cewa babu shakka, a nan ne wani misali da abin da suka yi kama da: duniya a.

Domin idan daya fayil zai sami damar zuwa yawan canji, shi zai sa su su rikici. Amma ba za mu iya cewa don tabbatar - gida ko duniya m aka karanta ko baki ɗaya kasa. Saboda haka, idan shi ne yin rajistar a cikin wani aiki, ya kamata ya kasance ba matsala. Amma yin amfani da wani m for gẽfunanta zama matsala. Saboda haka, tsarin da Shirin zanen na code zama dole a hankali saka idanu da kuma tabbatar da cewa babu inda akwai ma wani da ake bukata kafun da ya ce rikici ya tashi.

Wani embodiment da rikodi

Shin yana yiwuwa a PHP don ƙirƙirar wani duniya m, a wata hanya dabam? Eh, ba ko daya. Da farko, bari mu duba cikin $ Globals. Wannan shi ne wani associative tsararru. A key to shi - shi ne da sunan. Kamar yadda tamanin da abinda ke ciki abubuwa a matsayin duniya m. Ya kamata a lura da cewa tsararru bayan sanarwar ta wanzu a cikin wani ikon yinsa. Wannan ya ba da dalilin yi imani da shi superglobal. Ga alama haka: $ Globals [ 'm'].

Tsararrun / superglobals

A kowane shirye-shirye da harshen akwai wasu sunayen da aka chartered ga wasu da ayyuka. Saboda haka, don ƙirƙirar a PHP duniya canji na wannan sunan zai yi aiki ba.

Wannan shirye-shirye da harshen yana da halaye. Saboda haka, yana da muhimmanci cewa saitaccen canji nan ba su installing "super", wato, ba su da samuwa a duk wurare. Ta yaya zan iya gyara shi? Don saitaccen canji ya samuwa a wasu gida yankin, dole ne a ayyana kamar haka :. Global «m" Da alama ya zama guda kamar yadda kafin gaya, dama? Yana gaskiya ne, amma ba quite. Bari mu dubi riga "yãƙi" wani misali:

  • duniya $ HTTP_POST_VARS.
  • amsa kuwa $ HTTP_POST_VARS [ 'sunan'].

Za ka ji bambanci tsakanin su? Ka lura da cewa a cikin PHP duniya canji ba dole ba ne da za a yi amfani a cikin aikin. Yana iya ko da za a sanya a cikin wani fayil da aka hada a cikinsa.

Links da aminci

Kamar yadda ka gani, a PHP ƙirƙirar duniya m ne ba matsala. Amma akwai wani musamman zumunta links? Eh, akwai iya zama m hali a lokacin da yin amfani da duniya. Amma kafin wannan, kadan backstory.

A version 4.2.0 da umarnin da default register_globals canza daga kan-jihar don kashe. Domin mafi yawan masu amfani, wannan ba da muhimmanci sosai, amma a banza. Bayan duk, shi kai tsaye rinjayar da tsaro na ci gaba da samfurin. Idan kana bukatar ka sa m duniya, PHP-umarnin a kan wannan siga ba a kai tsaye ya shafa. Duk da haka, ba daidai ba amfani iya riga haifar gabaceku tsaro.

Saboda haka idan register_globals aka kunna ta, kafin aiwatar da hukumcin kisa na rubuta code initialized da daban-daban canji da ake bukata, misali aika HTML-siffofin. Saboda haka, aka yanke shawarar kashe ta.

Me ne da jihar na wannan umarnin a php duniya m gare yawa? Gaskiyar ita ce, lokacin da jihar na developers yi ba ko da yaushe tare da yaƙĩni iya kansu amsa tambaya daga inda ya fito. A daya hannun, yana da sauki ga rubuta code. Amma a sauran - shi ne mai tsaro hadarin. Saboda haka, don kauce wa kurakurai, kazalika data hadawa da umarnin da aka kashe.

Yanzu bari mu duba ba / kafaffen code, kazalika da yadda za a gane lokuta inda sanarwa na duniya PHP m yana tare da yunkurin a dusashe da bayanai. Wannan shi ne zama dole domin ya haifar da ba kawai da kyau, amma kuma ya rika aiki shafukan da ba su crack da farko akwai mutum.

qeta code

Bari ta kafa da cewa m gaskiya ne ga waɗanda aka izini:

idan (authenticate_user ()) {
$ Izni = gaskiya.
}

idan ($ izini) {
hada da "/highly/sensitive/data.php".
}

A wannan jiha, da m za a iya kafa ta atomatik. Ganin cewa data iya kawai za a maye gurbin, da kuma tushen su asalin ba a saita, sa'an nan kowa zai iya wuce irin wannan gwajin da kaman su wani. Idan so, da attacker (ko kawai m amma saba da mutum) iya sosai, mu dabaru.

Idan muka canza darajar da umarnin, wannan code zai yi aiki daidai, kamar yadda muka bukata. Amma initialization na canji ba kawai mai kyau sautin a cikin shirye-shirye, amma kuma yana ba mu da wani lamuni na da zaman lafiyar na script.

M version na code

za ka iya kashe ko aiki umarni, ko rubũta a mafi hadaddun code to cimma wannan burin. Alal misali, kamar wannan:

idan (isset ($ _ ZAMA [ 'sunan mai amfani "])) {

Karfin "Hello {$ _ ZAMA [ 'sunan mai amfani"]} ".

} Else {

Karfin "Hello Guest
".
amsa kuwa "Barka da amfani!".

}

Make canzawa a cikin wannan hali, zai zama akwai wuya. Amma har yanzu - yiwu. Don yin wannan, dole ne ka kula da cewa m amsa kayan aikin da aka bayar. Idan kana so ka hada da duniya canji a cikin PHP, ba za ka iya amfani da wadannan kayayyakin: idan muka san abin da kewayon ne da darajar samu, yana yiwuwa su yi rajista da wani script duba wannan tare da wani wasa. Hakika, shi ma ba ya da tabbacin cikakken kariya da canzawa dabi'u. Amma shi ke da yawa zabin muhimmanci wahalad.

Sami yunkurin dodo

Bari mu ga yadda ka gane rubuta a baya. A PHP duniya canji a cikin aiki da cewa za a bai kasa, za ka bukatar ka bayyana kanka. Za mu iya cewa wannan shi ne wani irin aikin gida a kan assimilation na darasi topic. A nan ne code:

idan (isset ($ _ kuki [ 'C_COOKIE'])) {
} Elseif (isset ($ _ SAMU [ 'C_COOKIE']) || isset ($ _ POST [ 'C_COOKIE'])) {

mail ( "administrarot@example.com", "Hankali, rubutun da aka rubuta ƙoƙari a sata da kuma dusashe da data", $ _SERVER [ 'REMOTE_ADDR']).
amsa kuwa "Akwai wani karye aminci ko ƙoƙari ya yi haka sanar da Administrator.";
mafita.

} Else {
}
?>

Yanzu bayani a cikinta. Sunny C_COOKIE zo mana daga majiya mai tushe. Don cikakken bayyana cewar sa ran sakamakon, mun duba da darajar da sanar da gudanarwa a cikin hali na matsaloli. Idan ba ya zo, to, babu mataki da bai bukatar ka yi. Dole ka fahimci cewa kawai a kashe register_globals umarnin bai sa ka code shi ne amintacce. Saboda haka, wani m cewa sami wani script daga mai amfani, ya kamata a bari domin sa ran darajar.

ƙarshe

A nan, in general, da kuma duk abin da ka bukatar ka san game da duniya canji ga nasarar da a amince yin amfani da su a cikin aikin. Hakika, a ce akwai cikakken tabbacin cewa babu wanda zai yi amfani da su iya ba - maharan suna kullum inganta su hanyoyin da basira. Saboda haka kyawawa rage matsakaicin amfani da duniya canji a cikin code. Sa'a, da tsarin da kuma zane fasali na wannan shirye-shirye da harshen iya cimma wannan burin. Good luck!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ha.delachieve.com. Theme powered by WordPress.