mirror of
https://github.com/ansible/awx.git
synced 2026-02-17 19:20:05 -03:30
Clarify the search for a proxy
This commit is contained in:
committed by
Chris Meyers
parent
bef9ef10bb
commit
bc2d339981
@@ -13,6 +13,24 @@ It is the source data from which request.headers (read-only) is constructed.
|
|||||||
|
|
||||||
|
|
||||||
def is_proxy_in_headers(request: Request, proxy_list: list[str], headers: list[str]) -> bool:
|
def is_proxy_in_headers(request: Request, proxy_list: list[str], headers: list[str]) -> bool:
|
||||||
|
"""
|
||||||
|
Determine if the request went through at least one proxy in the list.
|
||||||
|
Example:
|
||||||
|
request.environ = {
|
||||||
|
"HTTP_X_FOO": "8.8.8.8, 192.168.2.1",
|
||||||
|
"REMOTE_ADDR": "192.168.2.1",
|
||||||
|
"REMOTE_HOST": "foobar"
|
||||||
|
}
|
||||||
|
proxy_list = ["192.168.2.1"]
|
||||||
|
headers = ["HTTP_X_FOO", "REMOTE_ADDR", "REMOTE_HOST"]
|
||||||
|
|
||||||
|
The above would return True since 192.168.2.1 is a value for the header HTTP_X_FOO
|
||||||
|
|
||||||
|
request: The DRF/Django request. request.environ dict will be used for searching for proxies
|
||||||
|
proxy_list: A list of known and trusted proxies may be ip or hostnames
|
||||||
|
headers: A list of keys for which to consider values that may contain a proxy
|
||||||
|
"""
|
||||||
|
|
||||||
remote_hosts = set()
|
remote_hosts = set()
|
||||||
|
|
||||||
for header in headers:
|
for header in headers:
|
||||||
|
|||||||
Reference in New Issue
Block a user