Author: coudot
Date: 2010-03-29 18:48:32 +0200 (Mon, 29 Mar 2010)
New Revision: 63

Modified:
   self-service-password/trunk/config.inc.php
   self-service-password/trunk/functions.inc.php
   self-service-password/trunk/index.php
   self-service-password/trunk/lang.inc.php
Log:
#186: check special characters

Modified: self-service-password/trunk/config.inc.php
===================================================================
--- self-service-password/trunk/config.inc.php  2010-03-29 15:19:42 UTC (rev 62)
+++ self-service-password/trunk/config.inc.php  2010-03-29 16:48:32 UTC (rev 63)
@@ -62,6 +62,10 @@
 $pwd_min_upper = 0;
 # Minimal digit characters
 $pwd_min_digit = 0;
+# Minimal special characters
+$pwd_min_special = 0;
+# Definition of special characters
+$pwd_special_chars = "^a-zA-Z0-9";
 # Forbidden characters
 #$pwd_forbidden_chars = "@%";
 # Show policy constraints message

Modified: self-service-password/trunk/functions.inc.php
===================================================================
--- self-service-password/trunk/functions.inc.php       2010-03-29 15:19:42 UTC 
(rev 62)
+++ self-service-password/trunk/functions.inc.php       2010-03-29 16:48:32 UTC 
(rev 63)
@@ -86,7 +86,7 @@
 # Get message criticity
 function get_criticity( $msg ) {
        
-       if ( ereg( 
"nophpldap|nophpmhash|ldaperror|nomatch|badcredentials|passworderror|tooshort|toobig|minlower|minupper|mindigit"
 , $msg ) ) {
+       if ( ereg( 
"nophpldap|nophpmhash|ldaperror|nomatch|badcredentials|passworderror|tooshort|toobig|minlower|minupper|mindigit|minspecial|forbiddenchars"
 , $msg ) ) {
                return "critical";
        }
        

Modified: self-service-password/trunk/index.php
===================================================================
--- self-service-password/trunk/index.php       2010-03-29 15:19:42 UTC (rev 62)
+++ self-service-password/trunk/index.php       2010-03-29 16:48:32 UTC (rev 63)
@@ -79,6 +79,8 @@
     $upper = count( $upper_res[0] );
     preg_match_all("/[0-9]/", $newpassword, $digit_res);
     $digit = count( $digit_res[0] );
+    preg_match_all("/[$pwd_special_chars]/", $newpassword, $special_res);
+    $special = count( $special_res[0] );
     preg_match_all("/[$pwd_forbidden_chars]/", $newpassword, $forbidden_res);
     $forbidden = count( $forbidden_res[0] );
 
@@ -97,9 +99,11 @@
     # Minimal digit chars
     if ( $pwd_min_digit and $digit < $pwd_min_digit ) { $result="mindigit"; }
 
+    # Minimal special chars
+    if ( $pwd_min_special and $special < $pwd_min_special ) { 
$result="minspecial"; }
+
     # Forbidden chars
     if ( $forbidden > 0 ) { $result="forbiddenchars"; }
-
 }
 
 #==============================================================================
@@ -241,12 +245,13 @@
     echo "<div class=\"policy\">\n";
     echo "<p>".$messages[$lang]["policy"]."</p>\n";
     echo "<ul>\n";
-    if ( $pwd_min_length ) { echo "<li>".$messages[$lang]["policyminlength"]." 
$pwd_min_length</li>\n"; }
-    if ( $pwd_max_length ) { echo "<li>".$messages[$lang]["policymaxlength"]." 
$pwd_max_length</li>\n"; }
-    if ( $pwd_min_lower  ) { echo "<li>".$messages[$lang]["policyminlower"] ." 
$pwd_min_lower </li>\n"; }
-    if ( $pwd_min_upper  ) { echo "<li>".$messages[$lang]["policyminupper"] ." 
$pwd_min_upper </li>\n"; }
-    if ( $pwd_min_digit  ) { echo "<li>".$messages[$lang]["policymindigit"] ." 
$pwd_min_digit </li>\n"; }
-    if ( $pwd_forbidden_chars ) { echo 
"<li>".$messages[$lang]["policyforbiddenchars"] ." $pwd_forbidden_chars 
</li>\n"; }
+    if ( $pwd_min_length      ) { echo 
"<li>".$messages[$lang]["policyminlength"]      ." $pwd_min_length</li>\n"; }
+    if ( $pwd_max_length      ) { echo 
"<li>".$messages[$lang]["policymaxlength"]      ." $pwd_max_length</li>\n"; }
+    if ( $pwd_min_lower       ) { echo 
"<li>".$messages[$lang]["policyminlower"]       ." $pwd_min_lower</li>\n"; }
+    if ( $pwd_min_upper       ) { echo 
"<li>".$messages[$lang]["policyminupper"]       ." $pwd_min_upper</li>\n"; }
+    if ( $pwd_min_digit       ) { echo 
"<li>".$messages[$lang]["policymindigit"]       ." $pwd_min_digit</li>\n"; }
+    if ( $pwd_min_special     ) { echo 
"<li>".$messages[$lang]["policyminspecial"]     ." $pwd_min_special</li>\n"; }
+    if ( $pwd_forbidden_chars ) { echo 
"<li>".$messages[$lang]["policyforbiddenchars"] ." 
$pwd_forbidden_chars</li>\n"; }
     echo "</ul>\n";
     echo "</div>\n";
 }

Modified: self-service-password/trunk/lang.inc.php
===================================================================
--- self-service-password/trunk/lang.inc.php    2010-03-29 15:19:42 UTC (rev 62)
+++ self-service-password/trunk/lang.inc.php    2010-03-29 16:48:32 UTC (rev 63)
@@ -44,12 +44,14 @@
 $messages['en']['minlower'] = "Your password has not enough lower characters";
 $messages['en']['minupper'] = "Your password has not enough upper characters";
 $messages['en']['mindigit'] = "Your password has not enough digits";
+$messages['en']['minspecial'] = "Your password has not enough special 
characters";
 $messages['en']['policy'] = "Your password should respect the following 
constraints:";
 $messages['en']['policyminlength'] = "Minimal length:";
 $messages['en']['policymaxlength'] = "Maximal length:";
 $messages['en']['policyminlower'] = "Minimal lower characters:";
 $messages['en']['policyminupper'] = "Minimal upper characters:";
 $messages['en']['policymindigit'] = "Minimal digits:";
+$messages['en']['policyminspecial'] = "Minimal special characters:";
 $messages['en']['forbiddenchars'] = "You password contains forbidden 
characters";
 $messages['en']['policyforbiddenchars'] = "Forbidden characters:";
 
@@ -78,12 +80,14 @@
 $messages['fr']['minlower'] = "Votre mot de passe n'a pas assez de minuscules";
 $messages['fr']['minupper'] = "Votre mot de passe n'a pas assez de majuscules";
 $messages['fr']['mindigit'] = "Votre mot de passe n'a pas assez de chiffres";
+$messages['fr']['minspceial'] = "Votre mot de passe n'a pas assez de 
caractères spéciaux";
 $messages['fr']['policy'] = "Votre mot de passe doit respecter les contraintes 
suivantes&nbsp;:";
 $messages['fr']['policyminlength'] = "Nombre minimum de caractères&nbsp;:";
 $messages['fr']['policymaxlength'] = "Nombre maximum de caractères&nbsp;:";
 $messages['fr']['policyminlower'] = "Nombre minimum de minuscules&nbsp;:";
 $messages['fr']['policyminupper'] = "Nombre minimum de majuscules&nbsp;:";
 $messages['fr']['policymindigit'] = "Nombre minimum de chiffres&nbsp;:";
+$messages['fr']['policyminspecial'] = "Nombre minimum de caractères 
spéciaux&nbsp;:";
 $messages['fr']['forbiddenchars'] = "Votre mot de passe contient des 
caractères interdits";
 $messages['fr']['policyforbiddenchars'] = "Caractères interdits&nbsp;:";
 
@@ -112,12 +116,14 @@
 $messages['de']['minlower'] = "Ihr Passwort hat nicht genug Kleinbuchstaben";
 $messages['de']['minupper'] = "Ihr Passwort hat nicht genug Großbuchstaben";
 $messages['de']['mindigit'] = "Ihr Passwort hat nicht genug Ziffern";
+$messages['de']['minspecial'] = "Ihr Passwort hat nicht genug speziale 
Buchstaben";
 $messages['de']['policy'] = "Ihr Passwort muss diese Regeln beachten:";
 $messages['de']['policyminlength'] = "Minimale L&auml;nge:";
 $messages['de']['policymaxlength'] = "Maximale L&auml;nge:";
 $messages['de']['policyminlower'] = "Minimale Anzahl Kleinbuchstaben:";
 $messages['de']['policyminupper'] = "Minimale Anzahl Gro&szlig;buchstaben:";
 $messages['de']['policymindigit'] = "Minimale Anzahl Ziffern:";
+$messages['de']['policyminspecial'] = "Minimale Anzahl speziale Buchstaben:";
 $messages['de']['forbiddenchars'] = "Ihr Passwort enth&auml;lt nicht erlaubte 
Zeichen";
 $messages['de']['policyforbiddenchars'] = "Nicht erlaubte Zeichen:";
 

_______________________________________________
ltb-changes mailing list
[email protected]
http://lists.ltb-project.org/listinfo/ltb-changes

Reply via email to