Yr hyn y mae REMOTE_ADDR PHP yn ei ddweud mewn gwirionedd y tu ôl i VPN
Gwerth a roddwyd gan eich gweinydd gwe yw hwn, nid ymholiad i'r twnnel. Dilynwch lwybr y cais, gwiriwch pwy all ei ailysgrifennu, a chadwch hunaniaeth yn y rhaglen.
Mae rhywun yn gofyn pam fod defnyddiwr VPN yn ymddangos yng nghofnod y rhaglen gyda chyfeiriad sy'n perthyn i'r porth, neu gyda chyfeiriad a newidiodd ar ôl cinio. Mae'r ateb yn dechrau gyda beth yw'r gwerth hwnnw: cofnod a roddodd y gweinydd gwe yn amgylchedd y cais. Nid ymholiad i'r twnnel yw e, nid hunaniaeth tystysgrif yw e, ac nid addewid yw e bod y rhif yn perthyn i un person. Mae ei ddarllen fel unrhyw un o'r tri hynny yn cynhyrchu atebion hyderus sy'n anghywir mewn ffyrdd gwahanol.
Daw'r gwerth o'r gweinydd, nid o'r twnnel
Mae PHP yn derbyn amgylchedd y cais gan yr hyn a weithredodd y sgript. Mae cyfeirlyfr newidynnau gweinydd PHP yn disgrifio'r cofnodion hyn fel rhai a grëwyd gan y gweinydd gwe, gyda darpariaeth sy'n dibynnu ar sut y cyrhaeddodd y cais.
Mae sgript a weithredir fel bachyn llinell orchymyn y VPN yn gyd-destun gweithredu hollol wahanol. Nid oes ganddi gais gwe, nac unrhyw soced cleient, nac REMOTE_ADDR, a dyna pam mae cod gwe a gopïwyd i fachyn yn rhoi gwerthoedd gwag yn lle rhai anghywir. Mae gan y bachyn ei amgylchedd ei hun, a lenwir gan y daemon, ac mae wedi'i ddogfennu ar wahân. Mae cyrraedd at REMOTE_ADDR yno yn gyrraedd at newidyn na osodwyd erioed.
Cadwch y gwahaniaeth hwnnw mewn cof cyn cymharu dau gofnod. Efallai eich bod yn cymharu cais tudalen â bachyn, ac nid cymhariaeth o gwbl yw hynny. Gwiriwch y cyd-destun gweithredu yn gyntaf a'r cyfeiriad wedyn.
Dilynwch lwybr y cais cyn ymddiried yn y rhif
Y cyfeiriad a adroddwyd yw cymar y cysylltiad a welodd y gweinydd gwe. Rhowch unrhyw beth rhwng y cleient a'r gweinydd hwnnw a bydd y cymar yn newid. Mae cyfieithu, terfynu a chydbwyso llwyth pob un yn symud yr arsylwad un naid ymhellach oddi wrth y defnyddiwr.
Mae pedwar llwybr cyffredin yn cynhyrchu pedwar arsylwad gwahanol.
| 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 |
Nodwch y llwybr gydag enw'r gyrchfan, teulu'r cyfeiriadau a phob pwynt cyfieithu. Heb y map hwnnw, mae gwerth cywir a gwerth anghywir yn edrych yn union yr un fath mewn llinell gofnod. Mae dwy linell o ddiagram yn arbed prynhawn o ddadlau.
Dim ond lle mae wedi'i ffurfweddu y mae disodli yn digwydd
Gall gweinydd neu fframwaith ddisodli cyfeiriad y cleient yn fwriadol. Mae modiwl remote-IP Apache a modiwl real-IP NGINX ill dau yn gwneud hyn, ac mae'r gwerth a gaiff PHP yn dibynnu ar y ffurfweddiad hwnnw ynghyd â'r paramedrau a basiwyd i driniwr y sgript.
Felly nid REMOTE_ADDR yn ddieithriad mo'r cymar TCP heb ei gyffwrdd. Y cymar yw e fel y dewisodd y gweinydd ei adrodd ar ôl gweithredu ei bolisi ei hun. Mae'r gwahaniaeth hwnnw'n penderfynu ai tystiolaeth neu addurn yw'r gwerth.
Gofynnwch i berchennog y gweinydd pa faes sy'n awdurdodol yn y defnyddiad hwn a sut y cedwir y cymar gwreiddiol pan fydd disodli yn digwydd. Os na all neb ateb, nid yw'r cofnod yn profi dim eto.
Peidiwch â darllen penawdau anfon ar ymddiriedaeth
Gall y galwr anfon penawdau anfon ei hun. Triniaethu'r cofnod cyntaf a wahanwyd gan atalnod fel cyfeiriad defnyddiwr wedi'i wirio yw penderfynu credu pwy bynnag sy'n cysylltu, sef y gwrthwyneb i bwrpas y pennawd. Mae'r pennawd yn disgrifio cadwyn, a dim ond haen ymddiriedadwy all roi sicrwydd dros y gadwyn honno.
Defnyddiwch gymorth dirprwy ymddiriedadwy'r gweinydd neu'r fframwaith gyda'r gadwyn ddirprwy go iawn wedi'i ffurfweddu, a gadewch iddo daflu gwerthoedd o ffynonellau y tu allan i'r gadwyn honno. Y dadansoddiad a ysgrifennwyd â llaw yw lle mae'r rhan fwyaf o'r methiannau diddorol yn byw.
Nid yw cyfeiriad a adroddwyd gan ddirprwy yn newid ffynhonnell y pecynnau y mae mur gwarchod uwch yn eu gweld chwaith. Cadwch fetadata HTTP a hidlo rhwydwaith fel arsylwadau ar wahân, oherwydd maent yn ateb cwestiynau gwahanol.
Defnyddiwch hunaniaeth y rhaglen ar gyfer penderfyniadau
Ar gyfer mynediad at gofnodion defnyddiwr, dibynnwch ar y prif berson sydd wedi'i ddilysu a rheolau awdurdodi'r rhaglen. Gellir ailddyrannu cyfeiriad mewnol, a gall un cyfeiriad cyfieithiedig gynrychioli cannoedd o ddefnyddwyr ar yr un pryd. Nid oes yr un o'r priodoleddau hynny y gall gwiriad cyfeiriad ei gywiro.
Os oes angen i weithrediadau gysylltu cais â sesiwn VPN, cysylltwch y cyfeiriad a arsylwyd a'r stamp amser â chofnodion sesiwn awdurdodol yn ôl y model cyfieithu a ddogfennwyd gennych. Mae hynny'n cynhyrchu cysylltiad y gallwch ei amddiffyn; nid yw cyfeiriad ar ei ben ei hun yn gwneud hynny.
Ar gyfer diagnosis, cofnodwch ychydig o feysydd sydd eu hangen yn lle'r arae gweinydd gyfan, a all gario penawdau a deunydd dilysu. Mae'r casgliad defnyddiol yn dweud beth mae'r gwerth hwn yn ei olygu yn y defnyddiad hwn, nid pa werth sy'n edrych fwyaf fel cleient.