Wanneer 'n HTTP proxy voorspelers verkeer na 'n webbediener, die bediener sien die proxy IP adres eerder as die oorspronklike kliënt IP adres. Sedert die bediener die IP-adres vir meld of verifikasie doeleindes nodig het, baie HTTP gevolmagtigdes voeg 'n X-Forwarded-For kop dui die oorspronklike kliënt IP adres.
WsgiUnproxy is 'n WSGI middleware wat sit tussen die WSGI bediener en jou WSGI aansoek & nbsp;. Voordat u aansoek sien 'n versoek, WsgiUnproxy verwyder die-X Aangestuur-Vir kop en Herstel die kliënt IP-adres, opbrengs van 'n versoek wat lyk soos dit was nog nooit proxy te begin.
Sedert iemand 'n X-Forwarded-For kop kan byvoeg, WsgiUnproxy gebruik net die kop as dit kom van 'n betroubare proxy IP adresse.
Voorbeeld WSGI aansoek
van wsgiunproxy invoer unproxy
unproxy (trusted_proxies = ['1.2.3.4', '5.6.7.8'])
def aansoek (environ, start_response):
& Nbsp; start_response ('200 OK', [])
& Nbsp; terugkeer ['U IP-adres is% s. " % Environ.get ('REMOTE_ADDR')]
Gebruik met Plak Ontplooiing
WsgiUnproxy gebruik kan word in 'n pasta Ontplooiing pyplyn:
[Pyplyn: main]
pyplyn =
& Nbsp; WsgiUnproxy
& Nbsp; MyApp
[Filter: WsgiUnproxy]
gebruik = eier: WsgiUnproxy
trusted_proxies = 1.2.3.4, 5.6.7.8
Gevorderde gebruik
As jy nodig het om 'n baie betroubare gevolmagtigdes (soos 'n hele subnet) spesifiseer, het jy nie hoef te gebruik gee trusted_proxies as 'n lys. Al wat WsgiUnproxy vra is dat trusted_proxies ondersteun die in-operateur (soos deur die implementering van __contains __)
Vereistes :.
- Python
Kommentaar nie gevind