Merge pull request #3344 from volundmush/ip_from_request

Overhaul IP Matching
This commit is contained in:
Griatch 2023-12-02 20:30:56 +01:00 committed by GitHub
commit d26a88dff3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 108 additions and 13 deletions

View file

@ -31,7 +31,7 @@ from evennia.server import session
from evennia.utils import utils
from evennia.utils.ansi import parse_ansi
from evennia.utils.text2html import parse_html
from evennia.utils.utils import to_bytes
from evennia.utils.utils import to_bytes, ip_from_request
_CLIENT_SESSIONS = utils.mod_import(settings.SESSION_ENGINE).SessionStore
_RE_SCREENREADER_REGEX = re.compile(
@ -197,16 +197,7 @@ class AjaxWebClient(resource.Resource):
csessid = self.get_client_sessid(request)
browserstr = self.get_browserstr(request)
remote_addr = request.getClientIP()
if remote_addr in settings.UPSTREAM_IPS and request.getHeader("x-forwarded-for"):
addresses = [x.strip() for x in request.getHeader("x-forwarded-for").split(",")]
addresses.reverse()
for addr in addresses:
if addr not in settings.UPSTREAM_IPS:
remote_addr = addr
break
remote_addr = ip_from_request(request)
host_string = "%s (%s:%s)" % (
_SERVERNAME,