Puncte:0

Cum să obțineți HTTP_X_FORWARDED_FOR în fișierele de configurare Apache

drapel us

Am o zonă de administrare protejată care este accesibilă numai pentru IP-ul meu. Cu toate acestea, folosesc un proxy care are multe IP-uri. Nu este practic să puneți pe lista albă toată lista de IP-uri.

Proxy-ul trimite antetul HTTP_X_FORWARDED_FOR care conține IP-ul real.

Pot obține aceste informații în PHP cu $_SERVER['HTTP_X_FORWARDED_FOR'].

Obiectivul meu este să pun pe lista albă acea IP conținută în „HTTP_X_FORWARDED_FOR” dacă este egală cu propriul meu IP.

Iată codul pe care vreau să-l setez în fișierul meu de configurare Apache:

# Valoarea este codificată și va fi editată dacă IP-ul meu real este schimbat.
DEFINEȚI myRealIp „XXX.XXX.XXX.XXX”

# Asta caut.
DEFINE originIpFromProxy variabila_method_to_get_that_value

<LocationMatch "/admin/">
    Comanda refuzată, permiteți
    Negați de la toți

    <Dacă „'${originIpFromProxy}' == '${myRealIp}'">
        Permite de la ${originIpFromProxy}
    </Dacă>
</LocationMatch>

Există și o problemă, antetul HTTP_X_FORWARDED_FOR poate conține multe IP-uri separate prin virgule.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.