diff --git a/apps/feed_import/views.py b/apps/feed_import/views.py index 6df85e730..364458777 100644 --- a/apps/feed_import/views.py +++ b/apps/feed_import/views.py @@ -105,7 +105,7 @@ def reader_authorize(request): approval_prompt="force", ) logging.user(request, "~BB~FW~SBAuthorize Google Reader import - %s" % ( - request.META['REMOTE_ADDR'], + request.META.get('HTTP_X_REAL_IP', None) or request.META.get('REMOTE_ADDR', ""), )) authorize_url = FLOW.step1_get_authorize_url(redirect_uri=STEP2_URI) @@ -119,18 +119,19 @@ def reader_authorize(request): OAuthToken.objects.filter(user=request.user).delete() auth_token_dict['user'] = request.user else: + ip = request.META.get('HTTP_X_REAL_IP', None) or request.META.get('REMOTE_ADDR', "") OAuthToken.objects.filter(session_id=request.session.session_key).delete() - OAuthToken.objects.filter(remote_ip=request.META['REMOTE_ADDR']).delete() + OAuthToken.objects.filter(remote_ip=ip).delete() auth_token_dict['uuid'] = str(uuid.uuid4()) auth_token_dict['session_id'] = request.session.session_key - auth_token_dict['remote_ip'] = request.META['REMOTE_ADDR'] + auth_token_dict['remote_ip'] = ip OAuthToken.objects.create(**auth_token_dict) response.set_cookie('newsblur_reader_uuid', str(uuid.uuid4())) return response def reader_callback(request): - + ip = request.META.get('HTTP_X_REAL_IP', None) or request.META.get('REMOTE_ADDR', "") domain = Site.objects.get_current().domain STEP2_URI = "http://%s%s" % ( (domain + '.com') if not domain.endswith('.com') else domain, @@ -165,7 +166,7 @@ def reader_callback(request): if session.session_key: user_token = OAuthToken.objects.filter(session_id=request.session.session_key).order_by('-created_date') if not user_token: - user_token = OAuthToken.objects.filter(remote_ip=request.META['REMOTE_ADDR']).order_by('-created_date') + user_token = OAuthToken.objects.filter(remote_ip=ip).order_by('-created_date') if user_token: user_token = user_token[0] @@ -176,7 +177,7 @@ def reader_callback(request): # Fetch imported feeds on next page load request.session['import_from_google_reader'] = True - logging.user(request, "~BB~FW~SBFinishing Google Reader import - %s" % (request.META['REMOTE_ADDR'],)) + logging.user(request, "~BB~FW~SBFinishing Google Reader import - %s" % ip) if request.user.is_authenticated(): return render_to_response('social/social_connect.xhtml', {}, context_instance=RequestContext(request)) @@ -233,6 +234,8 @@ def import_starred_stories_from_google_reader(request): return dict(code=code, delayed=delayed, feed_count=feed_count, starred_count=starred_count) def import_signup(request): + ip = request.META.get('HTTP_X_REAL_IP', None) or request.META.get('REMOTE_ADDR', "") + if request.method == "POST": signup_form = SignupForm(prefix='signup', data=request.POST) if signup_form.is_valid(): @@ -247,7 +250,7 @@ def import_signup(request): if request.session.session_key: user_token = OAuthToken.objects.filter(session_id=request.session.session_key).order_by('-created_date') if not user_token: - user_token = OAuthToken.objects.filter(remote_ip=request.META['REMOTE_ADDR']).order_by('-created_date') + user_token = OAuthToken.objects.filter(remote_ip=ip).order_by('-created_date') if user_token: user_token = user_token[0] diff --git a/apps/profile/middleware.py b/apps/profile/middleware.py index 5bc5a02c6..27eb5d604 100644 --- a/apps/profile/middleware.py +++ b/apps/profile/middleware.py @@ -14,14 +14,15 @@ class LastSeenMiddleware(object): and hasattr(request, 'user') and request.user.is_authenticated()): hour_ago = datetime.datetime.utcnow() - datetime.timedelta(minutes=60) + ip = request.META.get('HTTP_X_REAL_IP', None) or request.META['REMOTE_ADDR'] # SUBSCRIBER_EXPIRE = datetime.datetime.utcnow() - datetime.timedelta(days=settings.SUBSCRIBER_EXPIRE) if request.user.profile.last_seen_on < hour_ago: logging.user(request, "~FG~BBRepeat visitor: ~SB%s (%s)" % ( - request.user.profile.last_seen_on, request.META['REMOTE_ADDR'])) + request.user.profile.last_seen_on, ip)) # if request.user.profile.last_seen_on < SUBSCRIBER_EXPIRE: # request.user.profile.refresh_stale_feeds() request.user.profile.last_seen_on = datetime.datetime.utcnow() - request.user.profile.last_seen_ip = request.META['REMOTE_ADDR'] + request.user.profile.last_seen_ip = ip request.user.profile.save() return response diff --git a/vendor/paypal/pro/forms.py b/vendor/paypal/pro/forms.py index 49f7c48c7..4c9796d4a 100644 --- a/vendor/paypal/pro/forms.py +++ b/vendor/paypal/pro/forms.py @@ -22,10 +22,11 @@ class PaymentForm(forms.Form): """Process a PayPal direct payment.""" from vendor.paypal.pro.helpers import PayPalWPP wpp = PayPalWPP(request) + ip = request.META.get('HTTP_X_REAL_IP', None) or request.META.get('REMOTE_ADDR', "") params = self.cleaned_data params['creditcardtype'] = self.fields['acct'].card_type params['expdate'] = self.cleaned_data['expdate'].strftime("%m%Y") - params['ipaddress'] = request.META.get("REMOTE_ADDR", "") + params['ipaddress'] = ip params.update(item) # Create single payment: diff --git a/vendor/paypal/pro/models.py b/vendor/paypal/pro/models.py index b04fda8fb..ee4797fd4 100644 --- a/vendor/paypal/pro/models.py +++ b/vendor/paypal/pro/models.py @@ -56,7 +56,7 @@ class PayPalNVP(models.Model): def init(self, request, paypal_request, paypal_response): """Initialize a PayPalNVP instance from a HttpRequest.""" - self.ipaddress = request.META.get('REMOTE_ADDR', '') + self.ipaddress = request.META.get('HTTP_X_REAL_IP', None) or request.META.get('REMOTE_ADDR', "") if hasattr(request, "user") and request.user.is_authenticated(): self.user = request.user diff --git a/vendor/paypal/standard/models.py b/vendor/paypal/standard/models.py index 1703216c6..040bc861a 100644 --- a/vendor/paypal/standard/models.py +++ b/vendor/paypal/standard/models.py @@ -245,7 +245,7 @@ class PayPalStandardBase(models.Model): def initialize(self, request): """Store the data we'll need to make the postback from the request object.""" self.query = getattr(request, request.method).urlencode() - self.ipaddress = request.META.get('REMOTE_ADDR', '') + self.ipaddress = request.META.get('HTTP_X_REAL_IP', None) or request.META.get('REMOTE_ADDR', "") def send_signals(self): """After a transaction is completed use this to send success/fail signals"""