Parcourir la source

save email address in lowercase, then authenticate against it's lowercase version, update common passwords list

master
Janusz Harkot il y a 13 ans
Parent
révision
2cd5145fc0
2 fichiers modifiés avec 25 ajouts et 2 suppressions
  1. 1
    1
      oscar/apps/customer/auth_backends.py
  2. 24
    1
      oscar/apps/customer/forms.py

+ 1
- 1
oscar/apps/customer/auth_backends.py Voir le fichier

@@ -7,7 +7,7 @@ class Emailbackend(ModelBackend):
7 7
         if not email:
8 8
             email = kwargs.pop('username', None)
9 9
         try:
10
-            user = User.objects.get(email=email)
10
+            user = User.objects.get(email=email.lower())
11 11
             if user.check_password(password):
12 12
                 return user
13 13
         except User.DoesNotExist:

+ 24
- 1
oscar/apps/customer/forms.py Voir le fichier

@@ -34,7 +34,10 @@ class CommonPasswordValidator(validators.BaseValidator):
34 34
     # See http://www.smartplanet.com/blog/business-brains/top-20-most-common-passwords-of-all-time-revealed-8216123456-8216princess-8216qwerty/4519
35 35
     forbidden_passwords = [
36 36
         'password',
37
+        '1234',
38
+        '12345'
37 39
         '123456',
40
+        '123456y',
38 41
         '123456789',
39 42
         'iloveyou',
40 43
         'princess',
@@ -44,6 +47,26 @@ class CommonPasswordValidator(validators.BaseValidator):
44 47
         'monkey',
45 48
         'qwerty',
46 49
         '654321',
50
+        'dragon',
51
+        'pussy',
52
+        'baseball',
53
+        'football',
54
+        'letmein',
55
+        'monkey',
56
+        '696969',
57
+        'abc123',
58
+        'qwe123',
59
+        'qweasd',
60
+        'mustang',
61
+        'michael',
62
+        'shadow',
63
+        'master',
64
+        'jennifer',
65
+        '111111',
66
+        '2000',
67
+        'jordan',
68
+        'superman'
69
+        'harley'
47 70
     ]
48 71
     message = _("Please choose a less common password")
49 72
     code = 'password'
@@ -74,7 +97,7 @@ class EmailUserCreationForm(forms.ModelForm):
74 97
         fields = ('email',)
75 98
 
76 99
     def clean_email(self):
77
-        email = self.cleaned_data['email']
100
+        email = self.cleaned_data['email'].lower()
78 101
         try:
79 102
             User.objects.get(email=email)
80 103
         except User.DoesNotExist:

Chargement…
Annuler
Enregistrer