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 :";
$messages['fr']['policyminlength'] = "Nombre minimum de caractères :";
$messages['fr']['policymaxlength'] = "Nombre maximum de caractères :";
$messages['fr']['policyminlower'] = "Nombre minimum de minuscules :";
$messages['fr']['policyminupper'] = "Nombre minimum de majuscules :";
$messages['fr']['policymindigit'] = "Nombre minimum de chiffres :";
+$messages['fr']['policyminspecial'] = "Nombre minimum de caractères
spéciaux :";
$messages['fr']['forbiddenchars'] = "Votre mot de passe contient des
caractères interdits";
$messages['fr']['policyforbiddenchars'] = "Caractères interdits :";
@@ -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änge:";
$messages['de']['policymaxlength'] = "Maximale Länge:";
$messages['de']['policyminlower'] = "Minimale Anzahl Kleinbuchstaben:";
$messages['de']['policyminupper'] = "Minimale Anzahl Großbuchstaben:";
$messages['de']['policymindigit'] = "Minimale Anzahl Ziffern:";
+$messages['de']['policyminspecial'] = "Minimale Anzahl speziale Buchstaben:";
$messages['de']['forbiddenchars'] = "Ihr Passwort enthält nicht erlaubte
Zeichen";
$messages['de']['policyforbiddenchars'] = "Nicht erlaubte Zeichen:";
_______________________________________________
ltb-changes mailing list
[email protected]
http://lists.ltb-project.org/listinfo/ltb-changes