Commit e55e7e68 by Sheng

Rewrote get_real_client_addr

parent ce3c70c4
...@@ -24,14 +24,18 @@ class MixinHandler(object): ...@@ -24,14 +24,18 @@ class MixinHandler(object):
def get_real_client_addr(self): def get_real_client_addr(self):
ip = self.request.headers.get('X-Real-Ip') ip = self.request.headers.get('X-Real-Ip')
port = self.request.headers.get('X-Real-Port') port = self.request.headers.get('X-Real-Port')
addr = None
if ip and port: if ip is None and port is None:
addr = (ip, int(port)) return
elif ip or port:
logging.warn('Wrong nginx configuration.')
return addr try:
port = int(port)
except (TypeError, ValueError):
pass
else:
if ip: # does not validate ip and port here
return (ip, port)
logging.warn('Bad nginx configuration.')
class IndexHandler(MixinHandler, tornado.web.RequestHandler): class IndexHandler(MixinHandler, tornado.web.RequestHandler):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment