Subversion Repositories ALCASAR

Rev

Rev 2815 | Rev 2822 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2815 Rev 2819
Line 1... Line 1...
1
<?php
1
<?php
2
# $Id: password.php 2815 2020-05-03 22:10:04Z rexy $
2
# $Id: password.php 2819 2020-05-17 21:59:10Z rexy $
3
#
3
#
4
# change user password on ALCASAR NAC
4
# change user password on ALCASAR
5
# by ANGEL95 & Rexy
5
# by ANGEL95 & REXY
6
 
6
 
7
/****************************************************************
7
/****************************************************************
8
*			GLOBAL FILE PATHS			*
8
*			GLOBAL FILE PATHS			*
9
*****************************************************************/
9
*****************************************************************/
10
define('CONF_FILE', '/usr/local/etc/alcasar.conf');
10
define('CONF_FILE', '/usr/local/etc/alcasar.conf');
Line 126... Line 126...
126
	$l_form_button_valid		= "تغيير";
126
	$l_form_button_valid		= "تغيير";
127
	$l_form_button_retour		= "إلغاء";
127
	$l_form_button_retour		= "إلغاء";
128
	$l_form_result1			= "تم تغيير الرقم السري بنجاح";
128
	$l_form_result1			= "تم تغيير الرقم السري بنجاح";
129
	$l_form_result2			= "خطأ عند محاولة تغيير كلمة المرور";
129
	$l_form_result2			= "خطأ عند محاولة تغيير كلمة المرور";
130
} else if ($Language === 'fr') {	// French
130
} else if ($Language === 'fr') {	// French
131
	$l_title			= "Changement de mot de passe utilisateur";
131
	$l_title			= "Changement de mot de passe";
132
	$l_form_l1			= "Utilisateur :";
132
	$l_form_l1			= "Utilisateur :";
133
	$l_form_l2			= "Ancien mot de passe :";
133
	$l_form_l2			= "Ancien mot de passe :";
134
	$l_form_l3			= "Nouveau mot de passe :";
134
	$l_form_l3			= "Nouveau mot de passe :";
135
	$l_form_l4			= "Nouveau mot de passe (confirmation) :";
135
	$l_form_l4			= "Nouveau mot de passe (confirmation) :";
136
	$l_eval_pass			= "Score :";
136
	$l_eval_pass			= "Score :";
Line 192... Line 192...
192
header('Cache-Control: post-check=0, pre-check=0', false);
192
header('Cache-Control: post-check=0, pre-check=0', false);
193
header('Pragma: no-cache');
193
header('Pragma: no-cache');
194
?>
194
?>
195
<!DOCTYPE html>
195
<!DOCTYPE html>
196
<html>
196
<html>
197
	<head>
197
<head>
198
		<meta charset="UTF-8">
198
	<meta charset="UTF-8">
199
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
199
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
200
		<title>ALCASAR - <?= $l_title ?></title>
200
	<title>ALCASAR - <?= $l_title ?></title>
201
		<link rel="stylesheet" href="/css/pwdmeter.css" type="text/css">
201
	<link rel="stylesheet" type="text/css" href="/css/pwdmeter.css"> 
202
		<link rel="stylesheet" href="/css/bootstrap.min.css" type="text/css">
202
	<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">
203
		<link rel="stylesheet" href="/css/pass.css" type="text/css">
-
 
204
		<!--[if lt IE 7]>
-
 
205
			<link rel="stylesheet" href="css/ie.css" type="text/css">
203
	<link rel="stylesheet" type="text/css" href="/css/pass.css">
206
		<![endif]-->
-
 
207
		<script src="/js/pwdmeter.js"></script>
204
	<script src="/js/pwdmeter.js"></script>
208
	</head>
205
</head>
209
	<body>
206
<body>
210
		<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">
207
	<div class="col-xs-12 col-md-10 col-md-offset-1"> 
211
 
208
 
212
			<!-- HeaderBox -->
209
		<!-- HeaderBox -->
213
 
-
 
214
			<div class="row banner">
210
		<div class="row banner">
215
				<!-- Logo box -->
211
			<!-- Logo box -->
216
				<div id="boite_logo" class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2">
212
			<!-- <div class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2"> -->
-
 
213
			<div class="hidden-xs col-sm-3 col-md-2 col-lg-2"> 
217
					<img class="img-responsive" src="images/organisme.png">
214
				<img class="img-responsive img-organisme" src="images/organisme.png">
218
				</div>
215
			</div>
219
 
216
 
220
				<!-- Title -->
217
			<!-- Title -->
221
				<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">
218
			<div id="cadre_titre" class="titre_banner col-xs-12 col-sm-8">
222
					<div class="row">
219
				<div class="row">
223
						<p id="acces_controle" class="titre_controle"><?= $l_title ?></p>
220
					<p id="acces_controle" class="titre_controle"><?= $l_title ?></p>
224
					</div>
221
				</div>
225
					<div class="row">
222
				<div class="row">
226
					<?php if (isset($changePasswordMessage)): ?>
223
				<?php if (isset($changePasswordMessage)): ?>
227
						<?= $changePasswordMessage ?>
224
					<?= $changePasswordMessage ?>
228
					<?php endif; ?>
225
				<?php endif; ?>
229
					</div>
-
 
230
				</div>
226
				</div>
231
			</div>
227
			</div>
-
 
228
			<!-- Logo box -->
-
 
229
			<div class="img_banner hidden-xs col-sm-3 col-md-2 col-lg-2">
-
 
230
				<img class="img-responsive img-organisme" src="images/logo-alcasar_70.png">
-
 
231
			</div>
-
 
232
		</div>
232
 
233
 
233
			<!-- Main content box -->
234
		<!-- Main content box -->
234
			<div class="row">
235
		<div class="row">
235
				<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">
236
			<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">
236
					<input class="row" type="hidden" name="action" value="checkpass">
237
				<input class="row" type="hidden" name="action" value="checkpass">
237
 
238
 
238
					<div class="row input_row">
239
				<div class="row input_row">
239
						<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l1 ?></div>
240
					<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l1 ?></div>
240
						<div class="col-xs-6 col-sm-6 col-md-4">
241
					<div class="col-xs-6 col-sm-6 col-md-4">
241
							<input type="text" name="login" class="form-control" id="input_value" value="" label="test">
242
						<input type="text" name="login" class="form-control" id="input_value" value="" label="test">
242
						</div>
-
 
243
					</div>
243
					</div>
-
 
244
				</div>
244
 
245
 
245
					<div class="row input_row">
246
				<div class="row input_row">
246
						<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l2 ?></div>
247
					<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l2 ?></div>
247
						<div class="col-xs-6 col-sm-6 col-md-4">
248
					<div class="col-xs-6 col-sm-6 col-md-4">
248
							<input type="password" class="form-control" id="input_value" name="passwd" value="">
249
						<input type="password" class="form-control" id="input_value" name="passwd" value="">
249
						</div>
-
 
250
					</div>
250
					</div>
-
 
251
				</div>
251
 
252
 
252
					<div class="row input_row">
253
				<div class="row input_row">
253
						<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l3 ?></div>
254
					<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l3 ?></div>
254
						<div class="col-xs-6 col-sm-6 col-md-4">
255
					<div class="col-xs-6 col-sm-6 col-md-4">
255
							<input class="form-control" id="input_value" type="password" name="newpasswd" id="passwordPwd" value="" autocomplete="off" onkeyup="chkPass(this.value);" />
256
						<input class="form-control" id="input_value" type="password" name="newpasswd" value="" autocomplete="off" onkeyup="chkPass(this.value);" />
256
						</div>
-
 
257
						<div class="col-xs-3 col-sm-3 col-md-4">	
-
 
258
							<input type="text" id="passwordTxt" name="passwordTxt" autocomplete="off" onkeyup="chkPass(this.value);" class="hide" />
-
 
259
						</div>
-
 
260
					</div>
257
					</div>
261
			
-
 
262
					<div class="row input_row">
-
 
263
						
-
 
264
						<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_eval_pass ?></div>
-
 
265
						<div class="col-xs-6 col-sm-6 col-md-4">
258
					<div class="col-xs-3 col-sm-3 col-md-4">	
266
							<div class="row scorebarDisplay">
-
 
267
								<div id="scorebarBorder" class="col-xs-12 col-sm-12">
-
 
268
									<div id="score" class="row">0%</div>
-
 
269
									<div id="scorebar" class="row">&nbsp;</div>
-
 
270
								</div>
-
 
271
							</div>
-
 
272
							<div class="row">
-
 
273
								<div id="lien_pass" class="col-xs-12 col-sm-12"><?= $l_passwordmeter ?></div>
-
 
274
							</div>
-
 
275
						</div>
-
 
276
					</div>
-
 
277
 
-
 
278
					<div class="row input_row">
-
 
279
						<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l4 ?></div>
-
 
280
						<div class="col-xs-6 col-sm-6 col-md-4">
-
 
281
							<input type="password" class="form-control" id="input_value" name="newpasswd2" value="">
259
						<input type="text" id="passwordTxt" name="passwordTxt" autocomplete="off" onkeyup="chkPass(this.value);" class="hide" />
282
						</div>
-
 
283
					</div>
260
					</div>
-
 
261
				</div>
284
		
262
		
285
					<div class="row input_row">
263
				<div class="row input_row">
-
 
264
					
-
 
265
					<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_eval_pass ?></div>
286
						<div class="col-xs-5 col-xs-offset-1 col-sm-4 col-sm-offset-2">
266
					<div class="col-xs-6 col-sm-6 col-md-4">
-
 
267
						<div class="row scorebarDisplay">
287
							<input id="buttons" class="btn btn-default" value="<?= $l_form_button_retour ?>" onclick="window.location.href = '<?= $homepage ?>';"></input>
268
							<div id="scorebarBorder" class="col-xs-12 col-sm-12">
-
 
269
								<div id="score" class="row">0%</div>
-
 
270
								<div id="scorebar" class="row">&nbsp;</div>
-
 
271
							</div>
288
						</div>
272
						</div>
289
						<div class="col-xs-5 col-sm-4">
273
						<div class="row">
290
							<button type="submit" class="btn btn-primary" id="buttons"><?= $l_form_button_valid ?></button>
274
							<div id="lien_pass" class="col-xs-12 col-sm-12"><?= $l_passwordmeter ?></div>
291
						</div>
275
						</div>
292
					</div>
276
					</div>
293
				</div>
277
				</div>
294
				
278
 
295
				</form>
-
 
296
				<div class="row">
279
				<div class="row input_row">
297
					<div id="boite_logo" class="img_banner col-xs-12 hidden-sm hidden-md hidden-lg">
280
					<div class="label_name col-xs-3 col-sm-3 col-md-4"><?= $l_form_l4 ?></div>
298
						<img class="img-responsive image" src="images/organisme.png">
281
					<div class="col-xs-6 col-sm-6 col-md-4">
-
 
282
						<input type="password" class="form-control" id="input_value" name="newpasswd2" value="">
299
					</div>
283
					</div>
300
				</div>
284
				</div>
-
 
285
	
-
 
286
				<div class="row input_row">
-
 
287
					<div class="col-xs-5 col-xs-offset-1 col-sm-4 col-sm-offset-2">
-
 
288
						<input id="buttons" class="btn btn-default" value="<?= $l_form_button_retour ?>" onclick="window.location.href = '<?= $homepage ?>';">
-
 
289
					</div>
-
 
290
					<div class="col-xs-5 col-sm-4">
-
 
291
						<button type="submit" class="btn btn-primary" id="buttons"><?= $l_form_button_valid ?></button>
-
 
292
					</div>
-
 
293
				</div>
-
 
294
			</form>
301
			</div>
295
			</div>
302
			<div id="info_pass">
296
<!--			
303
				<table id="tablePwdStatus" cellpadding="5" cellspacing="1" border="0">
297
			<div class="row">
304
					<tr>
298
				<div id="boite_logo" class="img_banner col-xs-12 hidden-sm hidden-md hidden-lg">
305
						<th colspan="2">Additions</th>
299
					<img class="img-responsive image" src="images/organisme.png">
306
						<th class="txtCenter">Type</th>
300
				</div>
307
						<th class="txtCenter">Rate</th>
301
			</div> -->
308
						<th class="txtCenter">Count</th>
302
		</div>
309
						<th class="txtCenter">Bonus</th>
303
		<div id="info_pass">
310
					</tr>
304
			<table id="tablePwdStatus" cellpadding="5" cellspacing="1" border="0">
311
					<tr>
305
				<tr>
312
						<td width="1%"><div id="div_nLength" class="fail">&nbsp;</div></td>
306
					<th colspan="2">Additions</th>
313
						<td width="94%">Number of Characters</td>
307
					<th class="txtCenter">Type</th>
314
						<td width="1%" class="txtCenter">Flat</td>
308
					<th class="txtCenter">Rate</th>
315
						<td width="1%" class="txtCenter italic">+(n*4)</td>
309
					<th class="txtCenter">Count</th>
316
						<td width="1%"><div id="nLength" class="box">&nbsp;</div></td>
310
					<th class="txtCenter">Bonus</th>
317
						<td width="1%"><div id="nLengthBonus" class="boxPlus">&nbsp;</div></td>
311
				</tr>
318
					</tr>
312
				<tr>
319
					<tr>
313
					<td width="1%"><div id="div_nLength" class="fail">&nbsp;</div></td>
320
						<td><div id="div_nAlphaUC" class="fail">&nbsp;</div></td>
314
					<td width="94%">Number of Characters</td>
321
						<td>Uppercase Letters</td>
315
					<td width="1%" class="txtCenter">Flat</td>
322
						<td class="txtCenter">Cond/Incr</td>
316
					<td width="1%" class="txtCenter italic">+(n*4)</td>
323
						<td nowrap="nowrap" class="txtCenter italic">+((len-n)*2)</td>
317
					<td width="1%"><div id="nLength" class="box">&nbsp;</div></td>
324
						<td><div id="nAlphaUC" class="box">&nbsp;</div></td>
318
					<td width="1%"><div id="nLengthBonus" class="boxPlus">&nbsp;</div></td>
325
						<td><div id="nAlphaUCBonus" class="boxPlus">&nbsp;</div></td>
319
				</tr>
326
					</tr>	
320
				<tr>
327
					<tr>
321
					<td><div id="div_nAlphaUC" class="fail">&nbsp;</div></td>
328
						<td><div id="div_nAlphaLC" class="fail">&nbsp;</div></td>
322
					<td>Uppercase Letters</td>
329
						<td>Lowercase Letters</td>
323
					<td class="txtCenter">Cond/Incr</td>
330
						<td class="txtCenter">Cond/Incr</td>
324
					<td nowrap="nowrap" class="txtCenter italic">+((len-n)*2)</td>
331
						<td class="txtCenter italic">+((len-n)*2)</td>
325
					<td><div id="nAlphaUC" class="box">&nbsp;</div></td>
332
						<td><div id="nAlphaLC" class="box">&nbsp;</div></td>
326
					<td><div id="nAlphaUCBonus" class="boxPlus">&nbsp;</div></td>
333
						<td><div id="nAlphaLCBonus" class="boxPlus">&nbsp;</div></td>
327
				</tr>	
334
					</tr>
328
				<tr>
335
					<tr>
329
					<td><div id="div_nAlphaLC" class="fail">&nbsp;</div></td>
336
						<td><div id="div_nNumber" class="fail">&nbsp;</div></td>
330
					<td>Lowercase Letters</td>
337
						<td>Numbers</td>
331
					<td class="txtCenter">Cond/Incr</td>
338
						<td class="txtCenter">Cond</td>
332
					<td class="txtCenter italic">+((len-n)*2)</td>
339
						<td class="txtCenter italic">+(n*4)</td>
333
					<td><div id="nAlphaLC" class="box">&nbsp;</div></td>
340
						<td><div id="nNumber" class="box">&nbsp;</div></td>
334
					<td><div id="nAlphaLCBonus" class="boxPlus">&nbsp;</div></td>
341
						<td><div id="nNumberBonus" class="boxPlus">&nbsp;</div></td>
335
				</tr>
342
					</tr>
336
				<tr>
343
					<tr>
337
					<td><div id="div_nNumber" class="fail">&nbsp;</div></td>
344
						<td><div id="div_nSymbol" class="fail">&nbsp;</div></td>
338
					<td>Numbers</td>
345
						<td>Symbols</td>
339
					<td class="txtCenter">Cond</td>
346
						<td class="txtCenter">Flat</td>
340
					<td class="txtCenter italic">+(n*4)</td>
347
						<td class="txtCenter italic">+(n*6)</td>
341
					<td><div id="nNumber" class="box">&nbsp;</div></td>
348
						<td><div id="nSymbol" class="box">&nbsp;</div></td>
342
					<td><div id="nNumberBonus" class="boxPlus">&nbsp;</div></td>
349
						<td><div id="nSymbolBonus" class="boxPlus">&nbsp;</div></td>
343
				</tr>
350
					</tr>
344
				<tr>
351
					<tr>
345
					<td><div id="div_nSymbol" class="fail">&nbsp;</div></td>
352
						<td><div id="div_nMidChar" class="fail">&nbsp;</div></td>
346
					<td>Symbols</td>
353
						<td>Middle Numbers or Symbols</td>
347
					<td class="txtCenter">Flat</td>
354
						<td class="txtCenter">Flat</td>
348
					<td class="txtCenter italic">+(n*6)</td>
355
						<td class="txtCenter italic">+(n*2)</td>
349
					<td><div id="nSymbol" class="box">&nbsp;</div></td>
356
						<td><div id="nMidChar" class="box">&nbsp;</div></td>
350
					<td><div id="nSymbolBonus" class="boxPlus">&nbsp;</div></td>
357
						<td><div id="nMidCharBonus" class="boxPlus">&nbsp;</div></td>
351
				</tr>
358
					</tr>
352
				<tr>
359
					<tr>
353
					<td><div id="div_nMidChar" class="fail">&nbsp;</div></td>
360
						<td><div id="div_nRequirements" class="fail">&nbsp;</div></td>
354
					<td>Middle Numbers or Symbols</td>
361
						<td>Requirements</td>
355
					<td class="txtCenter">Flat</td>
362
						<td class="txtCenter">Flat</td>
356
					<td class="txtCenter italic">+(n*2)</td>
363
						<td class="txtCenter italic">+(n*2)</td>
357
					<td><div id="nMidChar" class="box">&nbsp;</div></td>
364
						<td><div id="nRequirements" class="box">&nbsp;</div></td>
358
					<td><div id="nMidCharBonus" class="boxPlus">&nbsp;</div></td>
365
						<td><div id="nRequirementsBonus" class="boxPlus">&nbsp;</div></td>
359
				</tr>
366
					</tr>
360
				<tr>
367
					<tr>
361
					<td><div id="div_nRequirements" class="fail">&nbsp;</div></td>
368
						<th colspan="6">Deductions</th>
362
					<td>Requirements</td>
369
					</tr>
363
					<td class="txtCenter">Flat</td>
370
					<tr>
364
					<td class="txtCenter italic">+(n*2)</td>
371
						<td width="1%"><div id="div_nAlphasOnly" class="pass">&nbsp;</div></td>
365
					<td><div id="nRequirements" class="box">&nbsp;</div></td>
372
						<td width="94%">Letters Only</td>
366
					<td><div id="nRequirementsBonus" class="boxPlus">&nbsp;</div></td>
373
						<td width="1%" class="txtCenter">Flat</td>
367
				</tr>
374
						<td width="1%" class="txtCenter italic">-n</td>
368
				<tr>
375
						<td width="1%"><div id="nAlphasOnly" class="box">&nbsp;</div></td>
369
					<th colspan="6">Deductions</th>
376
						<td width="1%"><div id="nAlphasOnlyBonus" class="boxMinus">&nbsp;</div></td>
370
				</tr>
377
					</tr>	
371
				<tr>
378
					<tr>
372
					<td width="1%"><div id="div_nAlphasOnly" class="pass">&nbsp;</div></td>
379
						<td><div id="div_nNumbersOnly" class="pass">&nbsp;</div></td>
373
					<td width="94%">Letters Only</td>
380
						<td>Numbers Only</td>
374
					<td width="1%" class="txtCenter">Flat</td>
381
						<td class="txtCenter">Flat</td>
375
					<td width="1%" class="txtCenter italic">-n</td>
382
						<td class="txtCenter italic">-n</td>
376
					<td width="1%"><div id="nAlphasOnly" class="box">&nbsp;</div></td>
383
						<td><div id="nNumbersOnly" class="box">&nbsp;</div></td>
377
					<td width="1%"><div id="nAlphasOnlyBonus" class="boxMinus">&nbsp;</div></td>
384
						<td><div id="nNumbersOnlyBonus" class="boxMinus">&nbsp;</div></td>
378
				</tr>	
385
					</tr>	
379
				<tr>
386
					<tr>
380
					<td><div id="div_nNumbersOnly" class="pass">&nbsp;</div></td>
387
						<td><div id="div_nRepChar" class="pass">&nbsp;</div></td>
381
					<td>Numbers Only</td>
388
						<td>Repeat Characters (Case Insensitive)</td>
382
					<td class="txtCenter">Flat</td>
389
						<td class="txtCenter">Comp</td>
383
					<td class="txtCenter italic">-n</td>
390
						<td nowrap="nowrap" class="txtCenter italic"> - </td>
384
					<td><div id="nNumbersOnly" class="box">&nbsp;</div></td>
391
						<td><div id="nRepChar" class="box">&nbsp;</div></td>
385
					<td><div id="nNumbersOnlyBonus" class="boxMinus">&nbsp;</div></td>
392
						<td><div id="nRepCharBonus" class="boxMinus">&nbsp;</div></td>
386
				</tr>	
393
					</tr>	
387
				<tr>
394
					<tr>
388
					<td><div id="div_nRepChar" class="pass">&nbsp;</div></td>
395
						<td><div id="div_nConsecAlphaUC" class="pass">&nbsp;</div></td>
389
					<td>Repeat Characters (Case Insensitive)</td>
396
						<td>Consecutive Uppercase Letters</td>
390
					<td class="txtCenter">Comp</td>
397
						<td class="txtCenter">Flat</td>
391
					<td nowrap="nowrap" class="txtCenter italic"> - </td>
398
						<td class="txtCenter italic">-(n*2)</td>
392
					<td><div id="nRepChar" class="box">&nbsp;</div></td>
399
						<td><div id="nConsecAlphaUC" class="box">&nbsp;</div></td>
393
					<td><div id="nRepCharBonus" class="boxMinus">&nbsp;</div></td>
400
						<td><div id="nConsecAlphaUCBonus" class="boxMinus">&nbsp;</div></td>
394
				</tr>	
401
					</tr>	
395
				<tr>
402
					<tr>
396
					<td><div id="div_nConsecAlphaUC" class="pass">&nbsp;</div></td>
403
						<td><div id="div_nConsecAlphaLC" class="pass">&nbsp;</div></td>
397
					<td>Consecutive Uppercase Letters</td>
404
						<td>Consecutive Lowercase Letters</td>
398
					<td class="txtCenter">Flat</td>
405
						<td class="txtCenter">Flat</td>
399
					<td class="txtCenter italic">-(n*2)</td>
406
						<td class="txtCenter italic">-(n*2)</td>
400
					<td><div id="nConsecAlphaUC" class="box">&nbsp;</div></td>
407
						<td><div id="nConsecAlphaLC" class="box">&nbsp;</div></td>
401
					<td><div id="nConsecAlphaUCBonus" class="boxMinus">&nbsp;</div></td>
408
						<td><div id="nConsecAlphaLCBonus" class="boxMinus">&nbsp;</div></td>
402
				</tr>	
409
					</tr>	
403
				<tr>
410
					<tr>
404
					<td><div id="div_nConsecAlphaLC" class="pass">&nbsp;</div></td>
411
						<td><div id="div_nConsecNumber" class="pass">&nbsp;</div></td>
405
					<td>Consecutive Lowercase Letters</td>
412
						<td>Consecutive Numbers</td>
406
					<td class="txtCenter">Flat</td>
413
						<td class="txtCenter">Flat</td>
407
					<td class="txtCenter italic">-(n*2)</td>
414
						<td class="txtCenter italic">-(n*2)</td>
408
					<td><div id="nConsecAlphaLC" class="box">&nbsp;</div></td>
415
						<td><div id="nConsecNumber" class="box">&nbsp;</div></td>
409
					<td><div id="nConsecAlphaLCBonus" class="boxMinus">&nbsp;</div></td>
416
						<td><div id="nConsecNumberBonus" class="boxMinus">&nbsp;</div></td>
410
				</tr>	
417
					</tr>	
411
				<tr>
418
					<tr>
412
					<td><div id="div_nConsecNumber" class="pass">&nbsp;</div></td>
419
						<td><div id="div_nSeqAlpha" class="pass">&nbsp;</div></td>
413
					<td>Consecutive Numbers</td>
420
						<td>Sequential Letters (3+)</td>
414
					<td class="txtCenter">Flat</td>
421
						<td class="txtCenter">Flat</td>
415
					<td class="txtCenter italic">-(n*2)</td>
422
						<td class="txtCenter italic">-(n*3)</td>
416
					<td><div id="nConsecNumber" class="box">&nbsp;</div></td>
423
						<td><div id="nSeqAlpha" class="box">&nbsp;</div></td>
417
					<td><div id="nConsecNumberBonus" class="boxMinus">&nbsp;</div></td>
424
						<td><div id="nSeqAlphaBonus" class="boxMinus">&nbsp;</div></td>
418
				</tr>	
425
					</tr>	
419
				<tr>
426
					<tr>
420
					<td><div id="div_nSeqAlpha" class="pass">&nbsp;</div></td>
427
						<td><div id="div_nSeqNumber" class="pass">&nbsp;</div></td>
421
					<td>Sequential Letters (3+)</td>
428
						<td>Sequential Numbers (3+)</td>
422
					<td class="txtCenter">Flat</td>
429
						<td class="txtCenter">Flat</td>
423
					<td class="txtCenter italic">-(n*3)</td>
430
						<td class="txtCenter italic">-(n*3)</td>
424
					<td><div id="nSeqAlpha" class="box">&nbsp;</div></td>
431
						<td><div id="nSeqNumber" class="box">&nbsp;</div></td>
425
					<td><div id="nSeqAlphaBonus" class="boxMinus">&nbsp;</div></td>
432
						<td><div id="nSeqNumberBonus" class="boxMinus">&nbsp;</div></td>
426
				</tr>	
433
					</tr>	
427
				<tr>
434
					<tr>
428
					<td><div id="div_nSeqNumber" class="pass">&nbsp;</div></td>
435
						<td><div id="div_nSeqSymbol" class="pass">&nbsp;</div></td>
429
					<td>Sequential Numbers (3+)</td>
436
						<td>Sequential Symbols (3+)</td>
430
					<td class="txtCenter">Flat</td>
437
						<td class="txtCenter">Flat</td>
431
					<td class="txtCenter italic">-(n*3)</td>
438
						<td class="txtCenter italic">-(n*3)</td>
432
					<td><div id="nSeqNumber" class="box">&nbsp;</div></td>
439
						<td><div id="nSeqSymbol" class="box">&nbsp;</div></td>
433
					<td><div id="nSeqNumberBonus" class="boxMinus">&nbsp;</div></td>
440
						<td><div id="nSeqSymbolBonus" class="boxMinus">&nbsp;</div></td>
434
				</tr>	
441
					</tr>	
435
				<tr>
442
					<tr>
436
					<td><div id="div_nSeqSymbol" class="pass">&nbsp;</div></td>
443
						<th colspan="6">Legend</th>
437
					<td>Sequential Symbols (3+)</td>
444
					</tr>
438
					<td class="txtCenter">Flat</td>
445
					<tr>
439
					<td class="txtCenter italic">-(n*3)</td>
446
						<td colspan="6">
440
					<td><div id="nSeqSymbol" class="box">&nbsp;</div></td>
447
							<ul id="listLegend">
441
					<td><div id="nSeqSymbolBonus" class="boxMinus">&nbsp;</div></td>
448
								<li><div class="exceed imgLegend">&nbsp;</div><span class="bold">Exceptional:</span> Exceeds minimum standards. Additional bonuses are applied.</li>
442
				</tr>	
449
								<li><div class="pass imgLegend">&nbsp;</div><span class="bold">Sufficient:</span> Meets minimum standards. Additional bonuses are applied.</li>
443
				<tr>
450
								<li><div class="warn imgLegend">&nbsp;</div><span class="bold">Warning:</span> Advisory against employing bad practices. Overall score is reduced.</li>
444
					<th colspan="6">Legend</th>
451
								<li><div class="fail imgLegend">&nbsp;</div><span class="bold">Failure:</span> Does not meet the minimum standards. Overall score is reduced.</li>
445
				</tr>
452
							</ul>
446
				<tr>
453
						</td>
447
					<td colspan="6">
454
					</tr>
448
						<ul id="listLegend">
455
				</table>
449
							<li><div class="exceed imgLegend">&nbsp;</div><span class="bold">Exceptional:</span> Exceeds minimum standards. Additional bonuses are applied.</li>
456
				<table id="tablePwdNotes" cellpadding="5" cellspacing="1" border="0">
450
							<li><div class="pass imgLegend">&nbsp;</div><span class="bold">Sufficient:</span> Meets minimum standards. Additional bonuses are applied.</li>
457
					<tr>
451
							<li><div class="warn imgLegend">&nbsp;</div><span class="bold">Warning:</span> Advisory against employing bad practices. Overall score is reduced.</li>
458
						<th>Quick Footnotes</th>
452
							<li><div class="fail imgLegend">&nbsp;</div><span class="bold">Failure:</span> Does not meet the minimum standards. Overall score is reduced.</li>
459
					</tr>
453
						</ul>
460
					<tr>
454
					</td>
461
						<td>
455
				</tr>
462
							&bull; <strong>Flat:</strong> Rates that add/remove in non-changing increments.<br>
456
			</table>
463
							&bull; <strong>Incr:</strong> Rates that add/remove in adjusting increments.<br>
457
			<table id="tablePwdNotes" cellpadding="5" cellspacing="1" border="0">
464
							&bull; <strong>Cond:</strong> Rates that add/remove depending on additional factors.<br>
458
				<tr>
465
							&bull; <strong>Comp:</strong> Rates that are too complex to summarize. See source code for details.<br>
459
					<th>Quick Footnotes</th>
466
							&bull; <strong>n:</strong> Refers to the total number of occurrences.<br>
460
				</tr>
467
							&bull; <strong>len:</strong> Refers to the total password length.<br>
461
				<tr>
468
							&bull; Additional bonus scores are given for increased character variety.<br>
462
					<td>
469
							&bull; Final score is a cumulative result of all bonuses minus deductions.<br>
463
						&bull; <strong>Flat:</strong> Rates that add/remove in non-changing increments.<br>
470
							&bull; Final score is capped with a minimum of 0 and a maximum of 100.<br>
464
						&bull; <strong>Incr:</strong> Rates that add/remove in adjusting increments.<br>
471
							&bull; Score and Complexity ratings are not conditional on meeting minimum requirements.<br>
465
						&bull; <strong>Cond:</strong> Rates that add/remove depending on additional factors.<br>
472
						</td>
466
						&bull; <strong>Comp:</strong> Rates that are too complex to summarize. See source code for details.<br>
473
					</tr>
467
						&bull; <strong>n:</strong> Refers to the total number of occurrences.<br>
474
				</table>
468
						&bull; <strong>len:</strong> Refers to the total password length.<br>
475
			</div>
469
						&bull; Additional bonus scores are given for increased character variety.<br>
-
 
470
						&bull; Final score is a cumulative result of all bonuses minus deductions.<br>
-
 
471
						&bull; Final score is capped with a minimum of 0 and a maximum of 100.<br>
-
 
472
						&bull; Score and Complexity ratings are not conditional on meeting minimum requirements.<br>
-
 
473
					</td>
-
 
474
				</tr>
-
 
475
			</table>
476
		</div>
476
		</div>
477
	</div>
477
	</div>
478
	</body>
478
</body>
479
</html>
479
</html>