Esempio n. 1
0
 def test_remote_addr_fallback(self):
     request = HttpRequest()
     request.META = {
         'HTTP_X_FORWARDED_FOR': '',
         'HTTP_X_REAL_IP': '',
         'REMOTE_ADDR': '177.139.233.133',
     }
     ip = get_ip_address_from_request(request)
     self.assertEquals(ip, "177.139.233.133")
Esempio n. 2
0
 def test_x_forwarded_for_multiple(self):
     request = HttpRequest()
     request.META = {
         'HTTP_X_FORWARDED_FOR': '192.168.255.182, 10.0.0.0, 127.0.0.1, 198.84.193.157, 177.139.233.139',
         'HTTP_X_REAL_IP': '177.139.233.132',
         'REMOTE_ADDR': '177.139.233.133',
     }
     ip = get_ip_address_from_request(request)
     self.assertEquals(ip, "198.84.193.157")
Esempio n. 3
0
 def test_empty_x_forwarded_for_private_x_real_ip_fallback_on_remote_addr(self):
     request = HttpRequest()
     request.META = {
         'HTTP_X_FORWARDED_FOR': '',
         'HTTP_X_REAL_IP': '192.168.255.182',
         'REMOTE_ADDR': '177.139.233.133',
     }
     ip = get_ip_address_from_request(request)
     self.assertEquals(ip, "177.139.233.133")
Esempio n. 4
0
 def test_bad_x_forwarded_for_fallback_on_x_real_ip(self):
     request = HttpRequest()
     request.META = {
         'HTTP_X_FORWARDED_FOR': 'unknown 177.139.233.139',
         'HTTP_X_REAL_IP': '177.139.233.132',
         'REMOTE_ADDR': '177.139.233.133',
     }
     ip = get_ip_address_from_request(request)
     self.assertEquals(ip, "177.139.233.132")
Esempio n. 5
0
 def test_x_forwarded_for_singleton_private_address(self):
     request = HttpRequest()
     request.META = {
         'HTTP_X_FORWARDED_FOR': '192.168.255.182',
         'HTTP_X_REAL_IP': '177.139.233.132',
         'REMOTE_ADDR': '177.139.233.133',
     }
     ip = get_ip_address_from_request(request)
     self.assertEquals(ip, "177.139.233.132")
Esempio n. 6
0
 def get_initial(self):
     initial = super(ContactFormView, self).get_initial()
     initial = initial.copy()
     initial["referrer"] = self.request.META.get("HTTP_REFERER", "Unknown")
     initial["ip_address"] = get_ip_address_from_request(self.request)
     if self.request.user.is_authenticated():
         initial["name"] = self.request.user.get_full_name()
         initial["email"] = self.request.user.email
         initial["subject"] = self.request.GET.get("page_title", "")
     return initial
Esempio n. 7
0
def daily_message_limit_reached(request):
    """ returns True if max message number has been reached by ip_address """

    now = timezone.now()
    one_day = datetime.timedelta(days=1)
    yesterday = now - one_day
    tomorrow = now + one_day
    ip_address = get_ip_address_from_request(request)
    total_messages_today = ContactMessage.objects.filter(ip_address=ip_address,
                            created_at__gt=yesterday, created_at__lt=tomorrow)

    if len(total_messages_today) >= defaults.CONTACTWARE_TOTAL_DAILY_MESSAGES_BY_IP:
        return True
    return False
Esempio n. 8
0
def user_audit_create(sender, user, request, **kwargs):
    """ Create a user  audit when user is logged in """

    audit_key = get_hashed(request.session.session_key)
    try:
        audit = UserAudit.objects.get(audit_key=audit_key)
    except UserAudit.DoesNotExist:
        data = {
            'user': request.user,
            'audit_key': audit_key,
            'user_agent': request.META.get('HTTP_USER_AGENT', 'Unknown'),
            'ip_address': get_ip_address_from_request(request),
            'referrer': request.META.get('HTTP_REFERER', 'Unknown'),
            'last_page': request.path or '/',
        }
        audit = UserAudit(**data)
    logger.info(_('User {} logged in'.format(request.user.username)))
    audit.save()
    request.session[constants.USERWARE_AUDIT_KEY] = audit_key
    request.session.modified = True
    cleanup_user_audits(request.user)
Esempio n. 9
0
def get_user_coordinates(request):
    user_ip = get_ip_address_from_request(request)
    user_coordinates = get_lon_lat(user_ip)
    return user_coordinates