ComputersSoftware

PHP ntiaj teb no nce mus nce los nyob rau hauv lub muaj nuj nqi. Ua ib tug ntiaj teb no nce mus nce los nyob rau hauv PHP

Yuav kom tsim tau ib daim ntawv qhia txog qhov chaw, uas muaj sab functionality uas koj yuav tsum paub ib tug ntau. Tab sis li cas yuav ua rau nws tiag tiag nws - nws yog PHP. Lub ntiaj teb no nce mus nce los nyob rau hauv hom lus programming uas tsis siv ntau heev, tab sis tej zaum kuj paub yuav ua li cas nws ua hauj lwm, tej zaum nws yog tsim nyog. Qhov ntawd yog txoj kev tshawb no ntawm nws yog dab tsi thiab yuav ua li cas nws ua hauj lwm, peb yuav ua li cas nyob rau hauv no tsab xov xwm.

uas

Li ntawd, hu rau lub ntsiab lus teb nyob rau hauv uas lub nce mus nce los thiab txiav txim. Nyob rau hauv feem ntau tus neeg mob, lawv muaj tsuas muaj ib tau. Thaum PHP ntiaj teb no cov tsiaj ntawv loaded los ntawm lwm yam ntaub ntawv, ces nws tej zaum yuav inclusive (xws li) thiab yuav tsum tau (yuav tsum tau).

Yog lub neej ntawd, lawv yog tas rau cov hauv zos muaj nuj nqi tau. Thiab yuav ua li cas ua nce mus nce los pom cov ntaub ntawv nyob rau hauv nws thaj tsam, uas yuav ntau thiab siv? Yuav kom qhov no kawg, thiab yog muab nyob rau hauv lub PHP ntiaj teb no cov tsiaj ntawv.

Cov lo lus tseem ceeb "ntiaj teb no"

Thiab ntawm no yog yuav ua li cas los lees ib lub ntiaj teb no nce mus nce los rau php? Nyob rau hauv lub hom phiaj no yuav pab kom peb lo lus "ntiaj teb no". Nws yog tsim nyog los tso nyob rau hauv pem hauv ntej ntawm cov kuj sib txawv uas koj xav mus ua ib tug ntiaj teb no (narimer, ntiaj teb no «Cov kuj tsis paub meej").

Tom qab qhov kev siv ntawm xws li ib yam hais txog, cov ntaub ntawv yuav tsum tau mus ua hauj lwm nrog rau tej ntaub ntawv. Yog hais tias qhov chaw muaj neeg ua tim khawv rau qhov no nce mus nce los, qhov kev pab cuam yuav nco ntsoov xyuam xim nyob rau hauv ntiaj teb no version.

Yog vim li cas xws li ib tug coj txawv txawv hom lus? Qhov tseeb hais tias nyob rau tib lub sij hawm tej zaum yuav muaj lub zos versions. Tab sis lawv yuav tsum muaj heev dua lwm yam rau cov ntaub ntawv nyob qhov twg tshaj tawm. Thiab rau tag nrho cov so yuav ua ntiaj teb no cov tsiaj ntawv PHP chav kawm ntawv. Yog li ntawd koj yuav tsum tau ceev faj. Thiab hais tias muaj tsis muaj tsis ntseeg, ntawm no yog ib qho piv txwv ntawm yam uas lawv saib zoo li: lub ntiaj teb no ib tug.

Vim hais tias yog ib tug cov ntaub ntawv yuav muaj kev nkag tau mus rau ib tug xov tooj ntawm cov tsiaj ntawv, nws yuav ua kom lawv hla. Tab sis peb tsis tau hais meej - lub zos los sis lub ntiaj teb no nce mus nce los yog nyeem ntawv los yog zoo rau nws tsis. Yog li ntawd, yog hais tias nws yog mus sau npe nyob rau hauv ib tug muaj nuj nqi, nws yuav tsum tau tsis muaj teeb meem. Tab sis kev siv ntawm ib tug nce mus nce los rau nws ciam teb rau lwm yuav problematic. Yog li ntawd, cov qauv ntawm cov drafting ntawm lub code tsim nyog los soj ntsuam thiab xyuas kom tseeb tias hais tias tsis pom qhov twg yog muaj txawm tias ib prerequisite rau cov hais tias teeb meem sawv.

Lwm embodiment ntawm cov ntaubntawv povthawj siv

Puas yuav ua tau nyob rau hauv PHP los ua ib tug ntiaj teb no nce mus nce los nyob rau hauv lwm txoj kev? Yes, tsis muaj ib yam. Ua ntej, peb xav txog qhov $ GLOBALS. Qhov no yog ib qho associative array. Tus yuam sij rau nws - yog lub npe. Raws li tus nqi ntawm tus txheem ua raws li lub ntiaj teb no nce mus nce los. Nws yuav tsum tau muab sau tseg tias array tom qab cov ntawv tshaj tawm tshwm sim nyob rau hauv tej uas. Qhov no yuav qhia yog vim li cas mus ntseeg tau hais tias nws superglobal. Nws zoo li ntawd: $ GLOBALS [ 'nce mus nce los'].

Predefined / superglobals

Nyob rau hauv txhua txhua hom lus programming muaj ib co cov npe uas yog Chartered rau ib co ntawm nws functions. Yog li ntawd, los tsim nyob rau hauv PHP ntiaj teb no cov tsiaj ntawv ntawm lub tib lub npe yuav tsis ua hauj lwm.

Qhov no programming lus nws muaj nws tus yam ntxwv. Yog li ntawd, nws yog ib qho tseem ceeb uas lub predefined variables no yog tsis txhim kho "super", uas yog, lawv yuav tsis muaj nyob rau hauv tag nrho cov qhov chaw. Yuav ua li cas yuav kho tau nws? Yuav kom predefined variables yog muaj nyob rau ntawm ib co cheeb tsam nyob, nws yuav tsum tau tshaj tawm hais tias raws li nram no :. ntiaj teb no «kuj tsis paub meej" Nws nkawd yuav tau tib yam li ua ntej hais, txoj cai? Nws yog qhov tseeb, tiam sis tsis heev. Cia peb saib twb "sib ntaus sib tua" ib qho piv txwv:

  • ntiaj teb no $ HTTP_POST_VARS;
  • ECHO $ HTTP_POST_VARS [ 'npe'].

Koj xav tias qhov txawv nruab nrab ntawm lawv? Nco ntsoov tias nyob rau hauv PHP ntiaj teb no cov tsiaj ntawv tsis tas yuav tsum tau siv nyob rau hauv muaj nuj nqi. Nws muaj peev xwm txawm yuav muab tso rau hauv ib cov ntaub ntawv uas yog muaj nyob rau hauv nws.

Links thiab kev nyab xeeb

Raws li koj tau pom, nyob rau hauv PHP tsim lub ntiaj teb no nce mus nce los yog tsis muaj teeb meem. Tab sis yog muaj tej qho txheeb ze mus? Yog, tej zaum yuav muaj kev npaj txhij txog tus cwj pwm thaum uas siv cov ntiaj teb no. Tab sis ua ntej ntawd, ib tug me ntsis backstory.

Nyob rau hauv version 4.2.0 lub qhia los ntawm neej ntawd hais register_globals hloov los ntawm on-lub xeev rau tawm. Rau feem ntau cov neeg siv, qhov no yog tsis tseem ceeb heev, tab sis nyob rau hauv vain. Tom qab tag nrho, nws ncaj qha muaj feem xyuam rau cov kev ruaj ntseg ntawm cov tsim cov khoom. Yog hais tias koj xav tau kom cov kuj sib txawv ntiaj teb no, PHP-qhia nyob rau hauv no parameter yog tsis ncaj qha cuam tshuam. Txawm li cas los, tsis yog siv peev xwm twb tsim precedents kev ruaj ntseg.

Yog li ntawd, yog hais tias register_globals yog muab rau, ua ntej lub tua ntawm daim ntawv sau code initialized qhov sib txawv ntau yam uas yuav tsum tau, rau cov piv txwv xa HTML-cov ntaub ntawv. Yog li ntawd, nws tau txiav txim siab tig nws tawm.

Yog vim li cas yog lub xeev ntawm no qhia nyob rau hauv php ntiaj teb no nce mus nce los tshuav ntau npaum li cas? Qhov tseeb yog hais tias thaum lub xeev ntawm cov developers ua tsis yeej ib txwm nrog certainty yuav lawv tus kheej teb rau lo lus nug ntawm qhov chaw uas nws tuaj ntawm. Nyob rau hauv ib tes, nws yog yooj yim los mus sau cov code. Tiam sis nyob rau lwm yam - nws yog ib tug ruaj ntseg uas yuav muaj. Yog li ntawd, kom tsis txhob yuam kev, raws li zoo raws li cov ntaub ntawv nws thiab qhia tau neeg xiam.

Tam sim no cia saib tsis / kev ruaj ntseg code, raws li zoo raws li yuav ua li cas mus ntes tus neeg mob qhov twg cov ntawv tshaj tawm ntawm lub ntiaj teb no nce mus nce los PHP yog nrog los ntawm cov me nyuam ntawm kev ua phem rau nrog cov ntaub ntawv. Qhov no yog tsim nyog nyob rau hauv thiaj li yuav tsim tsis tsuas zoo nkauj, tab sis kuj tsis tshee ua hauj lwm qhov chaw uas tsis tawg thawj muaj neeg.

siab phem code

Wb teem uas nce mus nce los yog muaj tseeb rau cov neeg uas tau raug tso cai:

yog hais tias (authenticate_user ()) {
$ Tso cai = tseeb;
}

Yog hais tias ($ tso cai) {
muaj xws li "/highly/sensitive/data.php";
}

Nyob rau hauv lub xeev no, lub nce mus nce los yuav tau teem caij txiav. Xav tias cov ntaub ntawv yuav tsuas yuav hloov, thiab qhov chaw ntawm lawv cov keeb kwm yog tsis teem, ces leej twg muaj peev xwm dhau xws li ib tug xeem thiab ua txuj mus yuav lwm tus neeg. Yog hais tias qhov kev kawm, tus attacker (los yog cia li mas tab sis inexperienced neeg) yuav tsum zoo, peb logic.

Yog hais tias peb hloov tau tus nqi ntawm lub qhia, qhov no code yuav ua hauj lwm zoo, raws li peb yuav tsum tau. Tab sis initialization zog tsis yog tsuas yog ib tug zoo laus nyob rau hauv lub programming, tab sis kuj muab peb lub guarantee ntawm lub stability ntawm tsab ntawv.

Txhim khu kev qha version ntawm lub code

koj yuav tig tawm los yog ua hauj lwm kev tswj, los yog muab ib tug ntau code mus cuag lub hom phiaj no. Piv txwv li, zoo li no:

yog hais tias (isset ($ _ SIB KHO [ 'username'])) {

echo "Nyob zoo {$ _ SIB KHO [ 'username']} ";

} Lwm {

echo "Nyob zoo qhua
";
ECHO "Zoo siab txais tos cov neeg siv!";

}

Ua ib tug hloov nyob rau hauv cov ntaub ntawv no, muaj yuav tsis yooj yim. Tab sis tseem - ua tau. Ua li no, koj yuav tsum saib xyuas tias cov ceev ceev teb cov cuab yeej muab. Yog hais tias koj xav tau kom muaj xws li ntiaj teb no cov tsiaj ntawv nyob rau hauv PHP, koj siv tau cov nram qab no cov cuab yeej: yog hais tias peb paub dab tsi lub ntau yog tus nqi tau, nws yog tau mus sau npe ib tsab ntawv mus xyuas no nrog ib tug match. Ntawm cov hoob kawm, nws kuj tsis tau lees tias tag nrho cov kev pab tiv thaiv tiv thaiv hloov qhov tseem ceeb. Tab sis hais tias yog heev npaum li xaiv ho cov nyom.

Pom me nyuam no yuav masquerade

Cia peb kawm saib yuav ua li cas koj yuav tsum to taub sau ua ntej lawm. Nyob rau hauv PHP ntiaj teb no cov tsiaj ntawv nyob rau hauv cov kev ua uas yuav tau muab rau hauv qab no, koj yuav tsum tau tshaj tawm koj tus kheej. Peb yuav hais tias qhov no yog ib yam ntawm cov ntawv ua tom tsev rau cov assimilation ntawm zaj lus qhia lub ntsiab lus. Ntawm no yog cov code:

yog hais tias (isset ($ _ kua nplaum uas [ 'C_COOKIE'])) {
} Elseif (isset ($ _ TAU [ 'C_COOKIE']) || isset ($ _ NCEJ [ 'C_COOKIE'])) {

mail ( "administrarot@example.com", "Saib xyuas, tsab ntawv twb kaw los ntawm burglary thiab phem uas muaj ntaub ntawv", $ _SERVER [ 'REMOTE_ADDR']);
ECHO "Muaj ib tug tawg kev ruaj ntseg los yog sim ua li ntawd qhia rau lub Administrator.";
tawm;

} Lwm {
}
?>

Tam sim no piav qhia thereto. Tej C_COOKIE los rau peb los ntawm ib tug txhim khu kev qha qhov chaw. Rau siab txaus siab raws li cov kev tsim tshwm sim, peb mus saib nws cov nuj nqis thiab qhia rau tus kws tswj txoj nyob rau hauv cov ntaub ntawv ntawm cov teeb meem. Yog hais tias nws tsis tuaj, ces tsis muaj kev txiav txim thiab tsis xav tau los ua. Koj yuav tsum to taub tias tsuas disabling register_globals qhia tsis ua rau koj code yog ruaj ntseg. Yog li ntawd, tej nce mus nce los uas tau txais ib tsab ntawv los ntawm tus neeg siv, yuav tsum tau soj ntsuam txog kev cov kev tsim nqi.

xaus

Ntawm no, nyob rau hauv Feem ntau, thiab txhua yam koj yuav tsum paub txog lub ntiaj teb no cov tsiaj ntawv ntse thiab xyuam xim siv lawv nyob rau hauv lawv cov chaw ua hauj lwm. Ntawm cov hoob kawm, hais tias muaj yog ib tug tag nrho guarantee hais tias tsis muaj ib tug yuav siv lawv tsis tau - attackers tas li kev txhim kho lawv txoj kev thiab kev txawj ntse. Nws yog yog li ntawd ntshaw kom tsis txhob tus siab kawg siv lub ntiaj teb no cov tsiaj ntawv nyob rau hauv lub code. Qhov zoo ces, tus qauv thiab tsim nta ntawm no programming lus yuav ua tau lub hom phiaj no. Hmoov zoo!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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