File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -141,7 +141,9 @@ def create_or_update_session(self, session_data):
141141 session = serializer .save ()
142142 return session
143143 else :
144- msg = "session data is not valid {}" .format (serializer .errors )
144+ msg = "session data is not valid {}: {}" .format (
145+ serializer .errors , str (serializer .data )
146+ )
145147 logger .error (msg )
146148 return None
147149
Original file line number Diff line number Diff line change @@ -128,7 +128,11 @@ def post(self, request):
128128 user_agent = request .data .get ('HTTP_USER_AGENT' , '' )
129129
130130 if not login_ip :
131- login_ip = request .META .get ('HTTP_X_FORWARDED_FOR' ) or request .META .get ("REMOTE_ADDR" )
131+ x_forwarded_for = request .META .get ('HTTP_X_FORWARDED_FOR' ).split ()
132+ if x_forwarded_for :
133+ login_ip = x_forwarded_for [0 ]
134+ else :
135+ login_ip = request .META .get ("REMOTE_ADDR" )
132136
133137 user , msg = check_user_valid (
134138 username = username , password = password ,
Original file line number Diff line number Diff line change @@ -180,8 +180,9 @@ def validate_ip(ip):
180180
181181def write_login_log (username , type = '' , ip = '' , user_agent = '' ):
182182 if not (ip and validate_ip (ip )):
183- ip = '0.0.0.0'
184- city = get_ip_city (ip )
183+ city = "Unknown"
184+ else :
185+ city = get_ip_city (ip )
185186 LoginLog .objects .create (
186187 username = username , type = type ,
187188 ip = ip , city = city , user_agent = user_agent
Original file line number Diff line number Diff line change @@ -53,8 +53,11 @@ def form_valid(self, form):
5353 if not self .request .session .test_cookie_worked ():
5454 return HttpResponse (_ ("Please enable cookies and try again." ))
5555 auth_login (self .request , form .get_user ())
56- login_ip = self .request .META .get ('HTTP_X_FORWARDED_FOR' ) or \
57- self .request .META .get ('REMOTE_ADDR' , '' )
56+ x_forwarded_for = self .request .META .get ('HTTP_X_FORWARDED_FOR' , '' ).split ()
57+ if x_forwarded_for :
58+ login_ip = x_forwarded_for [0 ]
59+ else :
60+ login_ip = self .request .META .get ('REMOTE_ADDR' , '' )
5861 user_agent = self .request .META .get ('HTTP_USER_AGENT' , '' )
5962 write_login_log_async .delay (
6063 self .request .user .username , type = 'W' ,
You can’t perform that action at this time.
0 commit comments