REMOTE_ADDR ya PHP inakuambia nini hasa ukiwa nyuma ya VPN
Hii ni thamani iliyotolewa na seva yako ya wavuti, si ombi ndani ya handaki. Fuatilia njia ya ombi, angalia nani anaweza kuiandika upya, na uweke utambulisho ndani ya programu.
Mtu anauliza kwa nini mtumiaji wa VPN anaonekana kwenye kumbukumbu ya programu akiwa na anwani inayomilikiwa na lango, au akiwa na anwani iliyobadilika baada ya chakula cha mchana. Jibu linaanza na thamani hii ni nini: ingizo ambalo seva ya wavuti iliweka katika mazingira ya ombi. Si ombi ndani ya handaki, si utambulisho wa cheti, na si ahadi kwamba namba hiyo ni ya mtu mmoja. Kuiona kama mojawapo ya hayo matatu hutoa majibu ya kujiamini ambayo ni makosa kwa namna tofauti.
Thamani inatoka kwa seva, si kwa handaki
PHP hupokea mazingira ya ombi kutoka kwa kile kilichotekeleza skripti. Marejeo ya vigeu vya seva vya PHP hueleza ingizo hizi kama zilizoundwa na seva ya wavuti, na upatikanaji wake unategemea jinsi ombi lilivyofika.
Skripti inayoendeshwa kama ndoano ya mstari wa amri ya VPN ni muktadha tofauti kabisa wa utekelezaji. Haina ombi la wavuti, haina soketi ya mteja na haina REMOTE_ADDR, ndiyo sababu msimbo wa wavuti ulionakiliwa kwenye ndoano hutoa thamani tupu badala ya makosa. Ndoano ina mazingira yake yanayojazwa na daemon, na yameandikwa kwa nyaraka tofauti. Kufikia REMOTE_ADDR hapo ni kufikia kigeu ambacho hakikuwekwa kamwe.
Kumbuka tofauti hiyo kabla ya kulinganisha kumbukumbu mbili. Huenda unalinganisha ombi la ukurasa na ndoano, na hilo si ulinganisho hata kidogo. Angalia muktadha wa utekelezaji kwanza, kisha anwani.
Fuatilia njia ya ombi kabla ya kuamini namba
Anwani inayoripotiwa ni mwenzake wa muunganisho ambao seva ya wavuti iliona. Weka kitu chochote kati ya mteja na seva hiyo na mwenzake hubadilika. Tafsiri, ukatishaji na usawazishaji wa mzigo kila kimoja husogeza uchunguzi hatua moja zaidi kutoka kwa mtumiaji.
Njia nne za kawaida hutoa uchunguzi nne tofauti.
| Path to the listener | What can be reported |
|---|---|
| Client routed straight to the private listener, no translation | The client's tunnel address |
| Gateway translates the source before forwarding | The gateway's translated address |
| Reverse proxy terminates the client and opens its own backend connection | The proxy's backend address |
| Load balancer in front of two proxies | Whichever hop the server treats as its peer |
Andika njia hiyo pamoja na jina la marudio, familia ya anwani na kila sehemu ya tafsiri. Bila ramani hiyo, thamani sahihi na thamani isiyo sahihi huonekana sawa katika mstari wa kumbukumbu. Mistari miwili ya mchoro huokoa mchana wa mzozo.
Ubadilishaji hutokea tu pale ulipowekwa
Seva au mfumo unaweza kubadilisha anwani ya mteja kwa makusudi. Moduli ya remote-IP ya Apache na moduli ya real-IP ya NGINX hufanya hivi, na thamani ambayo PHP hupokea inategemea usanidi huo pamoja na vigezo vinavyopitishwa kwa mshughulikiaji wa skripti.
Kwa hivyo REMOTE_ADDR si kila mara mwenzake wa TCP asiyeguswa. Ni mwenzake kama seva ilivyochagua kuiripoti baada ya kutumia sera yake mwenyewe. Tofauti hiyo huamua kama thamani ni ushahidi au mapambo.
Uliza mmiliki wa seva sehemu ipi ina mamlaka katika usanidi huu na jinsi mwenzake wa awali huhifadhiwa ubadilishaji unapotokea. Ikiwa hakuna anayeweza kujibu, kumbukumbu bado haithibitishi chochote.
Usisome vichwa vya uelekezaji kwa imani
Mpiga simu anaweza kutuma vichwa vya uelekezaji mwenyewe. Kuchukua ingizo la kwanza lililotenganishwa kwa koma kama anwani ya mtumiaji iliyothibitishwa ni kuamua kumwamini yeyote anayeunganisha, kinyume kabisa cha madhumuni ya kichwa hicho. Kichwa kinaeleza mnyororo, na tabaka linaloaminika pekee linaweza kudhamini mnyororo huo.
Tumia msaada wa proksi zinazoaminika wa seva au mfumo ukiwa na mnyororo halisi wa proksi umewekwa, na uiruhusu kutupa thamani kutoka vyanzo vilivyo nje ya mnyororo huo. Uchambuzi ulioandikwa kwa mkono ndipo mahali ambapo hitilafu nyingi za kuvutia huishi.
Anwani inayoripotiwa na proksi pia haibadilishi chanzo cha pakiti ambacho kinga ya moto ya juu huona. Weka metadata ya HTTP na uchujaji wa mtandao kama uchunguzi tofauti, kwa sababu hujibu maswali tofauti.
Tumia utambulisho wa programu kwa maamuzi
Kwa ufikiaji wa kumbukumbu za mtumiaji, tegemea mhusika aliyethibitishwa na kanuni za uidhinishaji za programu. Anwani ya ndani inaweza kugawiwa upya, na anwani moja iliyotafsiriwa inaweza kuwakilisha mamia ya watumiaji kwa wakati mmoja. Hakuna sifa hizi ambazo ukaguzi wa anwani unaweza kurekebisha.
Ikiwa shughuli zinahitaji kuhusisha ombi na kikao cha VPN, unganisha anwani iliyochunguzwa na muhuri wa muda na kumbukumbu za kikao zenye mamlaka kulingana na modeli ya tafsiri uliyoifanya nyaraka. Hiyo huzalisha uhusiano unaoweza kuutetea; anwani peke yake haifanyi hivyo.
Kwa utambuzi, weka kwenye kumbukumbu sehemu chache zinazohitajika badala ya safu nzima ya seva, ambayo inaweza kubeba vichwa na nyenzo za uthibitishaji. Hitimisho muhimu husema thamani hii inamaanisha nini katika usanidi huu, si thamani ipi inafanana zaidi na mteja.