Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 2818 → Rev 2819

/web/password.php
1,8 → 1,8
<?php
# $Id$
#
# change user password on ALCASAR NAC
# by ANGEL95 & Rexy
# change user password on ALCASAR
# by ANGEL95 & REXY
 
/****************************************************************
* GLOBAL FILE PATHS *
128,7 → 128,7
$l_form_result1 = "تم تغيير الرقم السري بنجاح";
$l_form_result2 = "خطأ عند محاولة تغيير كلمة المرور";
} else if ($Language === 'fr') { // French
$l_title = "Changement de mot de passe utilisateur";
$l_title = "Changement de mot de passe";
$l_form_l1 = "Utilisateur :";
$l_form_l2 = "Ancien mot de passe :";
$l_form_l3 = "Nouveau mot de passe :";
194,286 → 194,286
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ALCASAR - <?= $l_title ?></title>
<link rel="stylesheet" href="/css/pwdmeter.css" type="text/css">
<link rel="stylesheet" href="/css/bootstrap.min.css" type="text/css">
<link rel="stylesheet" href="/css/pass.css" type="text/css">
<!--[if lt IE 7]>
<link rel="stylesheet" href="css/ie.css" type="text/css">
<![endif]-->
<script src="/js/pwdmeter.js"></script>
</head>
<body>
<div class="col-xs-12 col-sm-10 col-sm-offset-1 col-md-10 col-md-offset-1 col-lg-8 col-lg-offset-2" id="gui">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ALCASAR - <?= $l_title ?></title>
<link rel="stylesheet" type="text/css" href="/css/pwdmeter.css">
<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/css/pass.css">
<script src="/js/pwdmeter.js"></script>
</head>
<body>
<div class="col-xs-12 col-md-10 col-md-offset-1">
 
<!-- HeaderBox -->
<!-- HeaderBox -->
<div class="row banner">
<!-- Logo box -->
<!-- <div class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2"> -->
<div class="hidden-xs col-sm-3 col-md-2 col-lg-2">
<img class="img-responsive img-organisme" src="images/organisme.png">
</div>
 
<div class="row banner">
<!-- Logo box -->
<div id="boite_logo" class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2">
<img class="img-responsive" src="images/organisme.png">
<!-- Title -->
<div id="cadre_titre" class="titre_banner col-xs-12 col-sm-8">
<div class="row">
<p id="acces_controle" class="titre_controle"><?= $l_title ?></p>
</div>
 
<!-- Title -->
<div id="cadre_titre" class="titre_banner col-xs-10 col-xs-offset-1 col-sm-6 col-sm-offset-0 col-md-8 col-lg-8">
<div class="row">
<p id="acces_controle" class="titre_controle"><?= $l_title ?></p>
</div>
<div class="row">
<?php if (isset($changePasswordMessage)): ?>
<?= $changePasswordMessage ?>
<?php endif; ?>
</div>
<div class="row">
<?php if (isset($changePasswordMessage)): ?>
<?= $changePasswordMessage ?>
<?php endif; ?>
</div>
</div>
<!-- Logo box -->
<div class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2">
<img class="img-responsive img-organisme" src="images/logo-alcasar_70.png">
</div>
</div>
 
<!-- Main content box -->
<div class="row">
<form name="master" id="contenu_acces" action="<?= $current_page ?>" method="post" class="col-xs-12 col-sm-12 col-md-offset-1 col-md-10">
<input class="row" type="hidden" name="action" value="checkpass">
<!-- Main content box -->
<div class="row">
<form name="master" id="contenu_acces" action="<?= $current_page ?>" method="post" class="col-xs-12 col-sm-12 col-md-offset-1 col-md-10">
<input class="row" type="hidden" name="action" value="checkpass">
 
<div class="row input_row">
<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l1 ?></div>
<div class="col-xs-6 col-sm-6 col-md-4">
<input type="text" name="login" class="form-control" id="input_value" value="" label="test">
</div>
<div class="row input_row">
<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l1 ?></div>
<div class="col-xs-6 col-sm-6 col-md-4">
<input type="text" name="login" class="form-control" id="input_value" value="" label="test">
</div>
</div>
 
<div class="row input_row">
<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l2 ?></div>
<div class="col-xs-6 col-sm-6 col-md-4">
<input type="password" class="form-control" id="input_value" name="passwd" value="">
</div>
<div class="row input_row">
<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l2 ?></div>
<div class="col-xs-6 col-sm-6 col-md-4">
<input type="password" class="form-control" id="input_value" name="passwd" value="">
</div>
</div>
 
<div class="row input_row">
<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l3 ?></div>
<div class="col-xs-6 col-sm-6 col-md-4">
<input class="form-control" id="input_value" type="password" name="newpasswd" id="passwordPwd" value="" autocomplete="off" onkeyup="chkPass(this.value);" />
</div>
<div class="col-xs-3 col-sm-3 col-md-4">
<input type="text" id="passwordTxt" name="passwordTxt" autocomplete="off" onkeyup="chkPass(this.value);" class="hide" />
</div>
<div class="row input_row">
<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l3 ?></div>
<div class="col-xs-6 col-sm-6 col-md-4">
<input class="form-control" id="input_value" type="password" name="newpasswd" value="" autocomplete="off" onkeyup="chkPass(this.value);" />
</div>
<div class="row input_row">
<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_eval_pass ?></div>
<div class="col-xs-6 col-sm-6 col-md-4">
<div class="row scorebarDisplay">
<div id="scorebarBorder" class="col-xs-12 col-sm-12">
<div id="score" class="row">0%</div>
<div id="scorebar" class="row">&nbsp;</div>
</div>
</div>
<div class="row">
<div id="lien_pass" class="col-xs-12 col-sm-12"><?= $l_passwordmeter ?></div>
</div>
</div>
<div class="col-xs-3 col-sm-3 col-md-4">
<input type="text" id="passwordTxt" name="passwordTxt" autocomplete="off" onkeyup="chkPass(this.value);" class="hide" />
</div>
 
<div class="row input_row">
<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l4 ?></div>
<div class="col-xs-6 col-sm-6 col-md-4">
<input type="password" class="form-control" id="input_value" name="newpasswd2" value="">
</div>
</div>
</div>
<div class="row input_row">
<div class="col-xs-5 col-xs-offset-1 col-sm-4 col-sm-offset-2">
<input id="buttons" class="btn btn-default" value="<?= $l_form_button_retour ?>" onclick="window.location.href = '<?= $homepage ?>';"></input>
<div class="row input_row">
<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_eval_pass ?></div>
<div class="col-xs-6 col-sm-6 col-md-4">
<div class="row scorebarDisplay">
<div id="scorebarBorder" class="col-xs-12 col-sm-12">
<div id="score" class="row">0%</div>
<div id="scorebar" class="row">&nbsp;</div>
</div>
</div>
<div class="col-xs-5 col-sm-4">
<button type="submit" class="btn btn-primary" id="buttons"><?= $l_form_button_valid ?></button>
<div class="row">
<div id="lien_pass" class="col-xs-12 col-sm-12"><?= $l_passwordmeter ?></div>
</div>
</div>
</div>
</form>
<div class="row">
<div id="boite_logo" class="img_banner col-xs-12 hidden-sm hidden-md hidden-lg">
<img class="img-responsive image" src="images/organisme.png">
 
<div class="row input_row">
<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l4 ?></div>
<div class="col-xs-6 col-sm-6 col-md-4">
<input type="password" class="form-control" id="input_value" name="newpasswd2" value="">
</div>
</div>
<div class="row input_row">
<div class="col-xs-5 col-xs-offset-1 col-sm-4 col-sm-offset-2">
<input id="buttons" class="btn btn-default" value="<?= $l_form_button_retour ?>" onclick="window.location.href = '<?= $homepage ?>';">
</div>
<div class="col-xs-5 col-sm-4">
<button type="submit" class="btn btn-primary" id="buttons"><?= $l_form_button_valid ?></button>
</div>
</div>
</form>
</div>
<div id="info_pass">
<table id="tablePwdStatus" cellpadding="5" cellspacing="1" border="0">
<tr>
<th colspan="2">Additions</th>
<th class="txtCenter">Type</th>
<th class="txtCenter">Rate</th>
<th class="txtCenter">Count</th>
<th class="txtCenter">Bonus</th>
</tr>
<tr>
<td width="1%"><div id="div_nLength" class="fail">&nbsp;</div></td>
<td width="94%">Number of Characters</td>
<td width="1%" class="txtCenter">Flat</td>
<td width="1%" class="txtCenter italic">+(n*4)</td>
<td width="1%"><div id="nLength" class="box">&nbsp;</div></td>
<td width="1%"><div id="nLengthBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nAlphaUC" class="fail">&nbsp;</div></td>
<td>Uppercase Letters</td>
<td class="txtCenter">Cond/Incr</td>
<td nowrap="nowrap" class="txtCenter italic">+((len-n)*2)</td>
<td><div id="nAlphaUC" class="box">&nbsp;</div></td>
<td><div id="nAlphaUCBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nAlphaLC" class="fail">&nbsp;</div></td>
<td>Lowercase Letters</td>
<td class="txtCenter">Cond/Incr</td>
<td class="txtCenter italic">+((len-n)*2)</td>
<td><div id="nAlphaLC" class="box">&nbsp;</div></td>
<td><div id="nAlphaLCBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nNumber" class="fail">&nbsp;</div></td>
<td>Numbers</td>
<td class="txtCenter">Cond</td>
<td class="txtCenter italic">+(n*4)</td>
<td><div id="nNumber" class="box">&nbsp;</div></td>
<td><div id="nNumberBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nSymbol" class="fail">&nbsp;</div></td>
<td>Symbols</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">+(n*6)</td>
<td><div id="nSymbol" class="box">&nbsp;</div></td>
<td><div id="nSymbolBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nMidChar" class="fail">&nbsp;</div></td>
<td>Middle Numbers or Symbols</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">+(n*2)</td>
<td><div id="nMidChar" class="box">&nbsp;</div></td>
<td><div id="nMidCharBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nRequirements" class="fail">&nbsp;</div></td>
<td>Requirements</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">+(n*2)</td>
<td><div id="nRequirements" class="box">&nbsp;</div></td>
<td><div id="nRequirementsBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<th colspan="6">Deductions</th>
</tr>
<tr>
<td width="1%"><div id="div_nAlphasOnly" class="pass">&nbsp;</div></td>
<td width="94%">Letters Only</td>
<td width="1%" class="txtCenter">Flat</td>
<td width="1%" class="txtCenter italic">-n</td>
<td width="1%"><div id="nAlphasOnly" class="box">&nbsp;</div></td>
<td width="1%"><div id="nAlphasOnlyBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nNumbersOnly" class="pass">&nbsp;</div></td>
<td>Numbers Only</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-n</td>
<td><div id="nNumbersOnly" class="box">&nbsp;</div></td>
<td><div id="nNumbersOnlyBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nRepChar" class="pass">&nbsp;</div></td>
<td>Repeat Characters (Case Insensitive)</td>
<td class="txtCenter">Comp</td>
<td nowrap="nowrap" class="txtCenter italic"> - </td>
<td><div id="nRepChar" class="box">&nbsp;</div></td>
<td><div id="nRepCharBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nConsecAlphaUC" class="pass">&nbsp;</div></td>
<td>Consecutive Uppercase Letters</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*2)</td>
<td><div id="nConsecAlphaUC" class="box">&nbsp;</div></td>
<td><div id="nConsecAlphaUCBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nConsecAlphaLC" class="pass">&nbsp;</div></td>
<td>Consecutive Lowercase Letters</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*2)</td>
<td><div id="nConsecAlphaLC" class="box">&nbsp;</div></td>
<td><div id="nConsecAlphaLCBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nConsecNumber" class="pass">&nbsp;</div></td>
<td>Consecutive Numbers</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*2)</td>
<td><div id="nConsecNumber" class="box">&nbsp;</div></td>
<td><div id="nConsecNumberBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nSeqAlpha" class="pass">&nbsp;</div></td>
<td>Sequential Letters (3+)</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*3)</td>
<td><div id="nSeqAlpha" class="box">&nbsp;</div></td>
<td><div id="nSeqAlphaBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nSeqNumber" class="pass">&nbsp;</div></td>
<td>Sequential Numbers (3+)</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*3)</td>
<td><div id="nSeqNumber" class="box">&nbsp;</div></td>
<td><div id="nSeqNumberBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nSeqSymbol" class="pass">&nbsp;</div></td>
<td>Sequential Symbols (3+)</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*3)</td>
<td><div id="nSeqSymbol" class="box">&nbsp;</div></td>
<td><div id="nSeqSymbolBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<th colspan="6">Legend</th>
</tr>
<tr>
<td colspan="6">
<ul id="listLegend">
<li><div class="exceed imgLegend">&nbsp;</div><span class="bold">Exceptional:</span> Exceeds minimum standards. Additional bonuses are applied.</li>
<li><div class="pass imgLegend">&nbsp;</div><span class="bold">Sufficient:</span> Meets minimum standards. Additional bonuses are applied.</li>
<li><div class="warn imgLegend">&nbsp;</div><span class="bold">Warning:</span> Advisory against employing bad practices. Overall score is reduced.</li>
<li><div class="fail imgLegend">&nbsp;</div><span class="bold">Failure:</span> Does not meet the minimum standards. Overall score is reduced.</li>
</ul>
</td>
</tr>
</table>
<table id="tablePwdNotes" cellpadding="5" cellspacing="1" border="0">
<tr>
<th>Quick Footnotes</th>
</tr>
<tr>
<td>
&bull; <strong>Flat:</strong> Rates that add/remove in non-changing increments.<br>
&bull; <strong>Incr:</strong> Rates that add/remove in adjusting increments.<br>
&bull; <strong>Cond:</strong> Rates that add/remove depending on additional factors.<br>
&bull; <strong>Comp:</strong> Rates that are too complex to summarize. See source code for details.<br>
&bull; <strong>n:</strong> Refers to the total number of occurrences.<br>
&bull; <strong>len:</strong> Refers to the total password length.<br>
&bull; Additional bonus scores are given for increased character variety.<br>
&bull; Final score is a cumulative result of all bonuses minus deductions.<br>
&bull; Final score is capped with a minimum of 0 and a maximum of 100.<br>
&bull; Score and Complexity ratings are not conditional on meeting minimum requirements.<br>
</td>
</tr>
</table>
</div>
<!--
<div class="row">
<div id="boite_logo" class="img_banner col-xs-12 hidden-sm hidden-md hidden-lg">
<img class="img-responsive image" src="images/organisme.png">
</div>
</div> -->
</div>
<div id="info_pass">
<table id="tablePwdStatus" cellpadding="5" cellspacing="1" border="0">
<tr>
<th colspan="2">Additions</th>
<th class="txtCenter">Type</th>
<th class="txtCenter">Rate</th>
<th class="txtCenter">Count</th>
<th class="txtCenter">Bonus</th>
</tr>
<tr>
<td width="1%"><div id="div_nLength" class="fail">&nbsp;</div></td>
<td width="94%">Number of Characters</td>
<td width="1%" class="txtCenter">Flat</td>
<td width="1%" class="txtCenter italic">+(n*4)</td>
<td width="1%"><div id="nLength" class="box">&nbsp;</div></td>
<td width="1%"><div id="nLengthBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nAlphaUC" class="fail">&nbsp;</div></td>
<td>Uppercase Letters</td>
<td class="txtCenter">Cond/Incr</td>
<td nowrap="nowrap" class="txtCenter italic">+((len-n)*2)</td>
<td><div id="nAlphaUC" class="box">&nbsp;</div></td>
<td><div id="nAlphaUCBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nAlphaLC" class="fail">&nbsp;</div></td>
<td>Lowercase Letters</td>
<td class="txtCenter">Cond/Incr</td>
<td class="txtCenter italic">+((len-n)*2)</td>
<td><div id="nAlphaLC" class="box">&nbsp;</div></td>
<td><div id="nAlphaLCBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nNumber" class="fail">&nbsp;</div></td>
<td>Numbers</td>
<td class="txtCenter">Cond</td>
<td class="txtCenter italic">+(n*4)</td>
<td><div id="nNumber" class="box">&nbsp;</div></td>
<td><div id="nNumberBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nSymbol" class="fail">&nbsp;</div></td>
<td>Symbols</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">+(n*6)</td>
<td><div id="nSymbol" class="box">&nbsp;</div></td>
<td><div id="nSymbolBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nMidChar" class="fail">&nbsp;</div></td>
<td>Middle Numbers or Symbols</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">+(n*2)</td>
<td><div id="nMidChar" class="box">&nbsp;</div></td>
<td><div id="nMidCharBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nRequirements" class="fail">&nbsp;</div></td>
<td>Requirements</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">+(n*2)</td>
<td><div id="nRequirements" class="box">&nbsp;</div></td>
<td><div id="nRequirementsBonus" class="boxPlus">&nbsp;</div></td>
</tr>
<tr>
<th colspan="6">Deductions</th>
</tr>
<tr>
<td width="1%"><div id="div_nAlphasOnly" class="pass">&nbsp;</div></td>
<td width="94%">Letters Only</td>
<td width="1%" class="txtCenter">Flat</td>
<td width="1%" class="txtCenter italic">-n</td>
<td width="1%"><div id="nAlphasOnly" class="box">&nbsp;</div></td>
<td width="1%"><div id="nAlphasOnlyBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nNumbersOnly" class="pass">&nbsp;</div></td>
<td>Numbers Only</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-n</td>
<td><div id="nNumbersOnly" class="box">&nbsp;</div></td>
<td><div id="nNumbersOnlyBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nRepChar" class="pass">&nbsp;</div></td>
<td>Repeat Characters (Case Insensitive)</td>
<td class="txtCenter">Comp</td>
<td nowrap="nowrap" class="txtCenter italic"> - </td>
<td><div id="nRepChar" class="box">&nbsp;</div></td>
<td><div id="nRepCharBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nConsecAlphaUC" class="pass">&nbsp;</div></td>
<td>Consecutive Uppercase Letters</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*2)</td>
<td><div id="nConsecAlphaUC" class="box">&nbsp;</div></td>
<td><div id="nConsecAlphaUCBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nConsecAlphaLC" class="pass">&nbsp;</div></td>
<td>Consecutive Lowercase Letters</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*2)</td>
<td><div id="nConsecAlphaLC" class="box">&nbsp;</div></td>
<td><div id="nConsecAlphaLCBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nConsecNumber" class="pass">&nbsp;</div></td>
<td>Consecutive Numbers</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*2)</td>
<td><div id="nConsecNumber" class="box">&nbsp;</div></td>
<td><div id="nConsecNumberBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nSeqAlpha" class="pass">&nbsp;</div></td>
<td>Sequential Letters (3+)</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*3)</td>
<td><div id="nSeqAlpha" class="box">&nbsp;</div></td>
<td><div id="nSeqAlphaBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nSeqNumber" class="pass">&nbsp;</div></td>
<td>Sequential Numbers (3+)</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*3)</td>
<td><div id="nSeqNumber" class="box">&nbsp;</div></td>
<td><div id="nSeqNumberBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<td><div id="div_nSeqSymbol" class="pass">&nbsp;</div></td>
<td>Sequential Symbols (3+)</td>
<td class="txtCenter">Flat</td>
<td class="txtCenter italic">-(n*3)</td>
<td><div id="nSeqSymbol" class="box">&nbsp;</div></td>
<td><div id="nSeqSymbolBonus" class="boxMinus">&nbsp;</div></td>
</tr>
<tr>
<th colspan="6">Legend</th>
</tr>
<tr>
<td colspan="6">
<ul id="listLegend">
<li><div class="exceed imgLegend">&nbsp;</div><span class="bold">Exceptional:</span> Exceeds minimum standards. Additional bonuses are applied.</li>
<li><div class="pass imgLegend">&nbsp;</div><span class="bold">Sufficient:</span> Meets minimum standards. Additional bonuses are applied.</li>
<li><div class="warn imgLegend">&nbsp;</div><span class="bold">Warning:</span> Advisory against employing bad practices. Overall score is reduced.</li>
<li><div class="fail imgLegend">&nbsp;</div><span class="bold">Failure:</span> Does not meet the minimum standards. Overall score is reduced.</li>
</ul>
</td>
</tr>
</table>
<table id="tablePwdNotes" cellpadding="5" cellspacing="1" border="0">
<tr>
<th>Quick Footnotes</th>
</tr>
<tr>
<td>
&bull; <strong>Flat:</strong> Rates that add/remove in non-changing increments.<br>
&bull; <strong>Incr:</strong> Rates that add/remove in adjusting increments.<br>
&bull; <strong>Cond:</strong> Rates that add/remove depending on additional factors.<br>
&bull; <strong>Comp:</strong> Rates that are too complex to summarize. See source code for details.<br>
&bull; <strong>n:</strong> Refers to the total number of occurrences.<br>
&bull; <strong>len:</strong> Refers to the total password length.<br>
&bull; Additional bonus scores are given for increased character variety.<br>
&bull; Final score is a cumulative result of all bonuses minus deductions.<br>
&bull; Final score is capped with a minimum of 0 and a maximum of 100.<br>
&bull; Score and Complexity ratings are not conditional on meeting minimum requirements.<br>
</td>
</tr>
</table>
</div>
</div>
</body>
</body>
</html>