Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 2818 → Rev 2819

/web/css/ie.css
File deleted
Property changes:
Deleted: svn:executable
-*
\ No newline at end of property
/web/css/index.css
1,27 → 1,72
html {
/*
Stylesheet for index.php
Auteur : Stéphane ERARD & Rexy
Licence : GNU GPL
*/
HTML {
background: url(/images/background.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
min-width: 450px;
}
 
body {
BODY {
text-align: center;
font-size: 12px;
margin: 0px;
}
BODY, :link, :visited, :hover:link, :hover:visited {
font-family: "DejaVu Sans";
color: #000;
}
 
INPUT {
border: #666666 1px solid;
padding: 2px;
font-family: arial;
height: 22px;
}
INPUT, #contenu_acces {
background-color: #ffffff;
}
INPUT, #box_url {
font-family: arial;
}
 
H1 {
font-size: 55px;
}
H2 {
font-size: 30px;
}
H6 {
font-size: 100%;
}
H1, H2 {
text-align: center;
padding: 0px;
margin: 3px;
}
 
P, UL, LI {
text-align: justify;
}
UL {
padding-left: 20px;
margin: 0px;
margin-bottom: 5px;
}
LI {
list-style-type: square;
}
 
.error-margin {
margin-left: 0;
margin-right: 0;
}
 
#gui {
min-width: 452px;
/*
position: relative;
top: 3vh;
max-width: 950px;*/
}
 
.explanation_net_pb {
color: red;
margin-bottom: 2px;
43,8 → 88,18
box-shadow: 0px 10px 10px #000;
}
 
.img_banner {
display: inline-block;
margin-top: 5px;
margin-bottom: 5px;
}
 
/* style de la page accès controlé*/
.titre_banner {
display: inline-block;
margin-top: 10px;
margin-bottom: 10px;
}
 
.banner {
z-index:10;
display: flex;
58,19 → 113,29
box-shadow: 1px 1px 6px #666;
border-radius: 10px;
}
 
#cadre_titre .titre_controle {
color: white;
font-size: calc(20px + 2.2vw);
}
 
#cadre_titre .titre_refus {
color: red;
font-size: calc(20px + 2.2vw);
}
 
.titre_controle {
text-align: center;
font-size: calc(24px + 1vw);
color: white;
margin: 0px;
}
 
#acces_controle {
text-align: center;
font-size: calc(20px + 1.5vw);
padding-top: 25px;
padding-bottom: 32px;
padding-top: 20px;
padding-bottom: 20px;
margin: 0px;
}
@media(max-width:420px) {
79,18 → 144,11
text-align: left !important;
}
}
 
.domain_allowed_title {
margin-bottom: 0px;
}
 
/* Style de police */
 
BODY, :link, :visited, :hover:link, :hover:visited {
font-family: "DejaVu Sans";
}
INPUT, #box_url {
font-family: arial;
}
#acces_controle, #box_url, #cadre_titre SPAN {
font-weight: bold;
}
117,17 → 175,18
box-shadow: 1px 1px 6px #666;
margin-top: 30px;
margin-bottom: 30px;
}
 
}
.box_menu SPAN {
display: flex;
align-items: center;
}
 
.box_menu A{
position: absolute;
left: calc(100px + 1vw);
}
 
.box_menu IMG {
width: calc(80px + 1vw);
}
174,61 → 233,10
top: -1000px;
}
 
/*Couleurs de fond */
 
INPUT, #contenu_acces, #contenu_error, #logon, #auth_reussi {
background-color: #ffffff;
}
 
/* Règles des balises HTML */
 
H1, H2, #aide-certif {
text-align: center;
padding: 0px;
margin: 3px;
}
P, UL, LI{
text-align: justify;
}
 
BODY {
text-align: center;
font-size: 12px;
margin: 0px;
}
H1 {
font-size: 55px;
}
H2 {
font-size: 30px;
}
H6, #aide-certif{
font-size: 100%;
}
UL {
padding-left: 20px;
margin: 0px;
margin-bottom: 5px;
}
LI {
list-style-type: square;
}
TABLE {
font-size: 90%;
}
INPUT {
border: #666666 1px solid;
padding: 2px;
font-family: arial;
height: 22px;
}
 
#contenu_acces SPAN {
font-family: "courier new";
}
#contenu_error SPAN {
font-family: "courier new";
}
 
.info-box-container {
margin-top: 30px;
272,29 → 280,7
.box_infos_titles A {
color: black;
}
/*
#box_infos :link, #box_info :visited {
text-decoration: none;
}
#box_infos IMG {
max-width: 100px;
}
#box_infos h2 {
color: black;
font-weight: bold;
font-size: calc(14px + 0.4vw);
margin-bottom: 5px;
 
}
 
#box_infos P {
font-size: calc(12px + 0.3vw);
}
 
#box_infos A {
color: black;
font-weight: bold;
}*/
#corner {
position: fixed;
bottom: 0;
/web/css/pass.css
1,14 → 1,9
/*
Feuille de style pour les pages d'interceptions cot? utilisateurs d'ALCASAR
Auteur : Stéphane ERARD
StyleSheet for pass.php
Auteur : Stéphane ERARD & Rexy
Licence : GNU GPL
 
*/
 
 
/* règles générales */
 
/* Couleurs de polices */
:link, :visited, :hover:link, :hover:visited, h1 {
color: #000000;
}
21,7 → 16,6
background-size: cover;
min-width: 450px;
}
/* Style de police */
 
body, :link, :visited, :hover:link, :hover:visited {
font-family: "DejaVu Sans";
28,7 → 22,6
color: #000;
}
 
/* Règles des balises HTML */
 
p {
text-align: justify;
60,6 → 53,11
margin-left: auto;
}
 
#cadre_titre .titre_controle {
color: white;
font-size: calc(20px + 2.2vw);
}
 
.titre_banner {
display: inline-block;
margin-top: 10px;
73,6 → 71,24
margin: 0px;
}
 
#acces_controle {
text-align: center;
font-size: calc(20px + 1.5vw);
padding-top: 20px;
padding-bottom: 20px;
margin: 0px;
}
@media(max-width:420px) {
 
#acces_controle {
text-align: left !important;
}
}
 
#acces_controle, #box_url, #cadre_titre SPAN {
font-weight: bold;
}
 
#contenu_acces {
background-color: white;
border-bottom-left-radius: 10px;
141,17 → 157,6
visibility: hidden;
position: absolute;
top: -1500px;
/* background-color: white;
width: 500px;
 
margin: 30px;
padding: 15px;
ombrage css3
 
-moz-box-shadow: 0px 0px 12px #000;
-webkit-box-shadow: 0px 0px 12px #000;
box-shadow: 0px 0px 12px #000;*/
 
}
 
#block_pass {
/web/index.php
153,24 → 153,20
$l_contact_net_pb = "Contactez votre responsable informatique ou votre prestataire Internet pour plus d'information.";
$l_sms_access = "<a href=\"//$hostname/autoregistrationinfo.php\">Créer votre compte par SMS</a>";
$l_install_certif = "Installer le certificat racine";
$l_install_certif_more = "Installation du certificat de l'autorité racine d'ALCASAR";
$l_certif_explain = "Permet une communication sécurisées entre vous et ALCASAR.<br>";
$l_certif_explain_help = "<a href=\"alcasar-certificat.pdf\" target=\"_blank\">Aide complémentaire</a>";
$l_category = "catégorie :";
if (!$user->connected) {
$l_logout_explain = "Aucune session n'est actuellement ouverte";
$l_logout = "<a href=\"//$hostname/index.php?url=$redirect_link\">Ouvrir une session Internet</a>";
$l_logout = "<a href=\"//$hostname/index.php?url=$redirect_link\">Ouvrir une session</a>";
} else {
if ($user->username != $user->mac) { // authentication exception or not
$l_logout_explain = "Ferme la session de l'usager actuellement connecté. <br><br>Utilisateur connecté : <a href=\"$logout_link\" title=\"Deconnecter l'utilisateur $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history dernières connexions :$connection_history";
$l_logout_explain = "Utilisateur connecté : <a href=\"$logout_link\" title=\"Deconnecter l'utilisateur $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history dernières connexions :$connection_history";
$l_logout = "<a href=\"$logout_link\">Se déconnecter d'internet</a>";
} else {
$l_logout_explain = "Votre système ($user->username) est en exception d'authentication.<br><br>$nb_connection_history dernières connexions :$connection_history";
$l_logout = "Information des connexions";
$l_logout = "<a href=\"\">Information des connexions</a>";
}
}
$l_password_change = "<a href=\"https://$hostname/password.php\">Changer votre mot de passe</a>";
$l_password_change_explain = "Vous devez avoir un compte internet valide.";
$l_back_page = "<a href=\"javascript:history.back()\">Page précédente</a>";
$l_explain_warn = "L'administrateur a créé une archive contenant vos journaux de connexion dans le cadre d'une affaire judiciaire.";
if (isset($_GET['url'])) {
196,9 → 192,6
$l_contact_net_pb = "Entre em contato com a empresa fornecedora de Internet para mais informações";
$l_sms_access = "<a href=\"//$hostname/autoregistrationinfo.php\">Crie a conta por SMS</a>";
$l_install_certif = "Instalar Certificado Alcasar AC";
$l_install_certif_more = "Instalar Certificado Alcasar AC";
$l_certif_explain = "O certificado Permiti a troca de dados seguro entre seu computador e o portal Alcasar.<BR>Se este certificado não estiver incorporado no seu computador, alguns alertas de segurança deverá aparecer no navegador.<br><br>";
$l_certif_explain_help = "<a href=\"alcasar-certificat.pdf\" target=\"_blank\">Essa foi uma ajuda complementar</a>";
$l_category = "categoria :";
if (!$user->connected) {
$l_logout_explain = "Não há conexão de Internet aberta em seu computador, deseja conectar?";
205,15 → 198,14
$l_logout = "<a href=\"//$hostname/index.php?url=$redirect_link\">Abrir uma conexão de Internet</a>";
} else {
if ($user->username != $user->mac) { // authentication exception or not
$l_logout_explain = "Se desejar, feche a conexão do usuário atual conectado.<br> Usuário conectado : <a href=\"$logout_link\" title=\"Disconnect user $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history logins últimos :$connection_history";
$l_logout_explain = "Usuário conectado : <a href=\"$logout_link\" title=\"Disconnect user $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history logins últimos :$connection_history";
$l_logout = "<a href=\"$logout_link\">Sair da Internet</a>";
} else {
$l_logout_explain = "O sistema ($user->username) detctou exesso de autenticação.<br><br>$nb_connection_history logins últimos :$connection_history";
$l_logout = "Informações de conexões";
$l_logout = "<a href=\"\">Informações de conexões</a>";
}
}
$l_password_change = "<a href=\"https://$hostname/password.php\">Mudar sua senha</a>";
$l_password_change_explain = "Você será redirecionado à página de alteração de senha.<br><br> e deverá ter uma conta de usuário valido para efetuar a troca e acessar à Internet.";
$l_back_page = "<a href=\"javascript:history.back()\">Página anterior</a>";
$l_explain_warn = "El administrador ha creado un archivo que contiene los periódicos de inicio de sesión como parte de un proceso judicial.";
if (isset($_GET['url'])) {
239,9 → 231,6
$l_contact_net_pb = "请联系IT负责人或网络服务商来了解更多信息。";
$l_sms_access = "<a href=\"//$hostname/autoregistrationinfo.php\">通過短信創建您的帳戶</a>";
$l_install_certif = "安装根证书";
$l_install_certif_more = "安装根证书";
$l_certif_explain = "允许您的计算机与ALCASAR门户进行安全数据交换。<BR>如果该证书未包含在您的计算机中,您的浏览器将出现一些安全提醒。<br><br>";
$l_certif_explain_help = "<a href=\"alcasar-certificat.pdf\" target=\"_blank\">额外帮助</a>";
$l_category = "类别 :";
if (!$user->connected) {
$l_logout_explain = "您的系统目前没有打开任何网络咨询进程。";
248,15 → 237,14
$l_logout = "<a href=\"//$hostname/index.php?url=$redirect_link\">打开一个网络进程</a>";
} else {
if ($user->username != $user->mac) { // authentication exception or not
$l_logout_explain = "关闭当前连接进程。<br> 已连接用户:<a href=\"$logout_link\" title=\" $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history 最后连接 :$connection_history";
$l_logout_explain = "已连接用户:<a href=\"$logout_link\" title=\" $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history 最后连接 :$connection_history";
$l_logout = "<a href=\"$logout_link\">断开网络</a>";
} else {
$l_logout_explain = "您的系统($user->username)验证例外<br><br>$nb_connection_history 最后连接: $connection_history";
$l_logout = "连接信息";
$l_logout = "<a href=\"\">连接信息</a>";
}
}
$l_password_change = "<a href=\"https://$hostname/password.php\">更改您的密码</a>";
$l_password_change_explain = "重新指向密码修改页面。<br><br> 您需要一个可用的网络账户。";
$l_back_page = "<a href=\"javascript:history.back()\">上一页</a>";
$l_explain_warn = "管理员创建了一份可用于司法调查的连接日志文档。";
if (isset($_GET['url'])) {
283,11 → 271,6
$auto_save_sms_text = "تسجيل ذاتي على";
$l_sms_access = "<a href=\"//$hostname/autoregistrationinfo.php\">إنشاء حسابك لا SMS</a>";
$l_install_certif = "ركب جذر الشهادة";
$l_install_certif_more = "ALCASAR تركيب شهادة السلطة؛ جذر الكزار";
$exchange_data_text = "يمَكن من تبادل البيانات المؤمّنة بين محطة الاستفسار و بوابة الكزار الأسيرة";
$cert_not_saved_text = "إذا لم يتم تسجيل هذه الشهادة على محطة الاستفسار الخاصة بك، فمن الممكن ان يتم إصدار تنبيهات أمنية من متصحفك";
$l_certif_explain = "<br><br>.$cert_not_saved_text<br> .$exchange_data_text";
$l_certif_explain_help = "<a href=\"alcasar-certificat.pdf\" target=\"_blank\">مساعدة إضافية </a>";
$l_category = "فئة :";
if (!$user->connected) {
$l_logout_explain = "و لا جلسة استفسار للإنترنت مفتوحة حاليا على نظامك";
298,7 → 281,7
$close_session_text = "إقفال جلسة المستخدم المتصل حاليا";
$userlogged_text = "المستخدم متصل";
$disconnect_user_text = "قطع الاتصال على المستخدم";
$l_logout_explain = "Ferme la session de l'usager actuellement connecté. <br><br>Utilisateur connecté : <a href=\"$logout_link\" title=\"Deconnecter l'utilisateur $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history dernières connexions :$connection_history";
$l_logout_explain = "Utilisateur connecté : <a href=\"$logout_link\" title=\"Deconnecter l'utilisateur $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history dernières connexions :$connection_history";
$logout_internet_text = "قطع الاتصال على الإنترنت";
$l_logout = "<a href=\"$logout_link\">$logout_internet_text</a>";
} else {
306,14 → 289,11
$auth_except_text = "على توثيق استثنائي";
$last_conn_text = "اتصالات مشاركة";
$l_logout_explain = "$connection_history :$last_conn_text $nb_connection_history<br><br>$auth_except_text ($user->username) $your_system_text";
$l_logout = "معلومات على الاتصالات ";
$l_logout = "<a href=\"\">معلومات على الاتصالات </a>";
}
}
$change_pass_text = "غير كلمتك السرية";
$l_password_change = "<a href=\"https://$hostname/password.php\">$change_pass_text</a>";
$redirect_pass_text = "يوجهك على صفحة تغيير الكلمة السرية لحساب الإنترنت الخاص بك";
$valid_account_text = "يجب ان يكون حساب الإنترنت الخاص بك صالحاً";
$l_password_change_explain = "$valid_account_text<br><br>.$redirect_text";
$redirect_sms_text = "يوجهك على الصفحة التفسيرية للتسجيل الذاتي بطريقة";
$login_text = "تسجيل الدخول";
$your_phone_text = "رقم الهاتف الخاص بك";
346,9 → 326,6
$l_contact_net_pb = "Kontaktieren Sie Ihren Netzwerkbeauftragten oder Ihren Internetanbieter für weitere Informationen.";
$l_sms_access = "<a href=\"//$hostname/autoregistrationinfo.php\">Einen Account per SMS erstellen</a>";
$l_install_certif = "Das ALCASAR AC Zertifikat installieren";
$l_install_certif_more = "Das ALCASAR AC Zertifikat installieren";
$l_certif_explain = "Ermöglicht einen sicheren Datenaustausch zwischen Ihrem Computer und ALCASAR.<BR>Wenn dieses Zertifikat nicht in Ihrem Browser installiert ist, könnten Sicherheitswarnungen in Ihrem Browser erscheinen.<br><br>";
$l_certif_explain_help = "<a href=\"alcasar-certificat.pdf\" target=\"_blank\">Weitere Informationen</a>";
$l_category = "Kategorie:";
if (!$user->connected) {
$l_logout_explain = "Zurzeit ist keine Internetsitzung auf Ihrem System aktiv";
355,15 → 332,14
$l_logout = "<a href=\"//$hostname/index.php?url=$redirect_link\">Eine neue Internetzsitzung eröffnen</a>";
} else {
if ($user->username != $user->mac) { // authentication exception or not
$l_logout_explain = "Die Sitzung des aktuell eingeloggten Users beenden.<br> Aktuell eingeloggter User: <a href=\"$logout_link\" title=\"Ausloggen $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history letzte Verbindungen:$connection_history";
$l_logout_explain = "Aktuell eingeloggter User: <a href=\"$logout_link\" title=\"Ausloggen $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history letzte Verbindungen:$connection_history";
$l_logout = "<a href=\"$logout_link\">Aus dem Internet ausloggen</a>";
} else {
$l_logout_explain = "Ihr System ($user->username) ist nicht authentifiziert.<br><br>$nb_connection_history Letzte Verbindungen:$connection_history";
$l_logout = "Informationen zur Verbindung";
$l_logout = "<a href=\"\">Informationen zur Verbindung</a>";
}
}
$l_password_change = "<a href=\"https://$hostname/password.php\">Passwort ändern</a>";
$l_password_change_explain = "Leitet Sie auf die Seite der Passwortänderung weiter.<br><br> Sie sollten bereits einen Account für den Internetzugriff haben.";
$l_back_page = "<a href=\"javascript:history.back()\">Previous page</a>";
$l_explain_warn = "Der Administrator wird ein Archiv erstellen, welches Ihre Logdaten für den Fall einer gerichtlichen Untersuchung beinhaltet.";
if (isset($_GET['url'])) {
390,9 → 366,6
$l_contact_net_pb = "Contact your network responsive or your Internet provider for further information.";
$l_sms_access = "<a href=\"//$hostname/autoregistrationinfo.php\">Create your account by SMS</a>";
$l_install_certif = "Install ALCASAR AC Certificate";
$l_install_certif_more = "Install ALCASAR AC Certificate";
$l_certif_explain = "This will allow secure communications for your browser and ALCASAR<br>";
$l_certif_explain_help = "<a href=\"alcasar-certificat.pdf\" target=\"_blank\">Complementary help</a>";
$l_category = "category:";
if (!$user->connected) {
$l_logout_explain = "No session is currently open";
399,15 → 372,14
$l_logout = "<a href=\"//$hostname/index.php?url=$redirect_link\">Open an Internet session</a>";
} else {
if ($user->username != $user->mac) { // authentication exception or not
$l_logout_explain = "Close the session<br> User logged-on: <a href=\"$logout_link\" title=\"Disconnect user $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history last connections:$connection_history";
$l_logout_explain = "User logged-on: <a href=\"$logout_link\" title=\"Disconnect user $user->username\"><b>$user->username</b></a><br><br>$nb_connection_history last connections:$connection_history";
$l_logout = "<a href=\"$logout_link\">Logoff from the Internet</a>";
} else {
$l_logout_explain = "Your system ($user->username) is in exception of authentication.<br><br>$nb_connection_history Last logins:$connection_history";
$l_logout = "Connections information";
$l_logout = "<a href=\"\">Connections information</a>";
}
}
$l_password_change = "<a href=\"https://$hostname/password.php\">Change your password</a>";
$l_password_change_explain = "You should already have an Internet access account.";
$l_back_page = "<a href=\"javascript:history.back()\">Previous page</a>";
$l_explain_warn = "The administrator created an archive which contains your imputabilities logs for a judicial investigation.";
if (isset($_GET['url'])) {
511,7 → 483,6
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
?>
 
<!DOCTYPE html>
<html>
<head>
518,21 → 489,21
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ALCASAR - <?= $l_title ?></title>
<link type="text/css" href="<?= ((!$direct_access) ? "//$hostname" : '') ?>/css/bootstrap.min.css" rel="stylesheet">
<link type="text/css" href="/css/index.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="<?= ((!$direct_access) ? "//$hostname" : '') ?>/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/css/index.css">
</head>
<body>
<div class="col-xs-12 col-md-10 col-md-offset-1" id="gui">
<div class="col-xs-12 col-md-10 col-md-offset-1">
 
<!-- HeaderBox -->
<div class="row banner">
<!-- Logo box -->
<div id="boite_logo" class="hidden-xs col-sm-2">
<div class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2">
<img class="img-responsive img-organisme" src="<?= ((!$direct_access) ? "//$hostname" : '') ?><?= $img_rep.$img_organisme ?>">
</div>
 
<!-- Title -->
<div id="cadre_titre" class="col-xs-12 col-sm-8">
<div id="cadre_titre" class="titre_banner col-xs-12 col-sm-8">
<?php if ($direct_access): ?>
<p id="acces_controle" class="titre_controle"><?= $l_title ?></p>
<?php if ($network_pb): ?>
550,6 → 521,11
<?php endif; ?>
<?php endif; ?>
</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="<?= ((!$direct_access) ? "//$hostname" : '') ?><?= $img_rep.$img_acc ?>">
</div>
</div>
 
<!-- Main content box -->
598,7 → 574,6
<!-- Info Box -->
<div class="info-box-container col-sm-5">
<div id="box_infos">
<h2 class="box_infos_titles"><?= $l_logout ?></h2>
<p class="box_infos_explanations"><?= $l_logout_explain ?>
<?php if (!empty($domainsAllowed)): ?>
610,11 → 585,6
</ul>
<?php endif; ?>
 
<h2 class="box_infos_titles"><?= $l_install_certif_more ?></a></h2>
<p class="box_infos_explanations"><?= "$l_certif_explain $l_certif_explain_help" ?></p>
<h2 class="box_infos_titles"><?= $l_password_change ?></h2>
<p class="box_infos_explanations"><?= $l_password_change_explain ?></p>
<?php else: // the user is intercepted ?>
<?php if (isset($_GET['warn']) && isset($_GET['url']) && $_GET['warn'] === '1'): // user need to be warned that someone reads his logs ?>
<div id="box_refuse">
649,10 → 619,5
</div>
<?php endif; ?>
</div>
<div class="row col-xs-12">
<div id="boite_logo" class="col-xs-12 hidden-sm hidden-md hidden-lg">
<img class="img-responsive img-organisme" src="<?= ((!$direct_access) ? "//$hostname" : '') ?><?= $img_rep.$img_organisme ?>">
</div>
</div>
</body>
</html>
/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>