Atunci când un proxy HTTP înainte de trafic la un server de web, serverul vede adresa IP proxy, mai degrabă decât originalul adresa IP client. Având în vedere că serverul poate avea nevoie de adresa IP pentru scopuri de exploatare sau de autentificare, de multe proxy-uri HTTP adauga afara-X Transmis-pentru indicarea original adresa IP client.
WsgiUnproxy este un middleware WSGI care sta între serverul WSGI și aplicarea dvs. WSGI & nbsp;. Înainte de cererea dumneavoastră vede o cerere, WsgiUnproxy elimină antetul-X Transmis-Pentru și reintegrează adresa IP client, rezultând o cerere care arata ca ea nu a fost niciodată aproximat pentru a începe cu.
Deoarece oricine poate adăuga în afara-X Transmis-Pentru, WsgiUnproxy folosește doar antetul dacă vine de la o încredere adrese IP proxy.
Aplicație Exemplu WSGI
din unproxy import wsgiunproxy
unproxy (trusted_proxies = ['1.2.3.4', '5.6.7.8'])
cerere def (environ, start_response):
& Nbsp; start_response ("200 OK ', [])
& Nbsp; a reveni ['Adresa ta de IP este% s. " % Environ.get ("REMOTE_ADDR ')]
Utilizați cu Paste implementare
WsgiUnproxy poate fi utilizată într-o conductă Paste desfășurare:
[Conducte: principal]
conducte =
& Nbsp; WsgiUnproxy
& Nbsp; AplicMea
[Filtru: WsgiUnproxy]
utilizare = ou: WsgiUnproxy
trusted_proxies = 1.2.3.4, 5.6.7.8
Utilizarea avansată
Dacă trebuie să specificați o mulțime de proxy-uri de încredere (cum ar fi un întreg subnet), nu trebuie să utilizați da trusted_proxies ca o listă. Tot ce WsgiUnproxy cere este ca trusted_proxies sprijină operator (de exemplu prin punerea în aplicare a __contains __)
Cerințe :.
- Python
Comentariile nu a fost găsit