jhbtyn
Проверенные
- Сообщения
- 76
- Реакции
- 11
- Баллы
- 11,010
Кто-то из таких древних, как и я, еще наверное помнит скрипт - PasGen 1.1. :facepalm: Недавно обновил ось на сервере, ну соответственно и все остальное. Так теперь этот скрипт не желает работать. Ребята, кто в пых-пыхе силен? Помогите пожалуйста! Код прилагаю, доступ дам (дебиан 8, апач 2.4.10 , пхп 5.6.17).
Скорее всего совсем ерунда, т.к. чуть съехало, но не для таких ламеров-копипастеров, как я. )))
Код:
<?php
/*
Название: PasGen 1.1;
Автор: Terabyte (admin[at]web-hack.ru);
Дата: 12.05.2005;
Описание: Генератор паролей по различным комбинациям;
Сайт: http://www.web-hack.ru;
Copyright: если захотите поставить скрипт на свой сайт, то не забудьте поставить ссылочку на сайт автора - http://www.web-hack.ru;
*/
@$case1=$_GET['case1'];
@$case2=$_GET['case2'];
@$case3=$_GET['case3'];
@$case4=$_GET['case4'];
@$num1=(int)$_GET['num1'];
@$num2=(int)$_GET['num2'];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Password Generator</title>
</head>
<body bgcolor="#FAFAF5">
<h1 align="center">Password Generator</h1>
<form action="pasgen.php" method="get">
<table align="center" border="2">
<tr><td>Заглавные</td><td><input type="checkbox" name="case1"<? if ($case1=="on") {echo ' checked';}?>></td></tr>
<tr><td>Маленькие</td><td><input type="checkbox" name="case2"<? if ($case2=="on") {echo ' checked';}?>></td></tr>
<tr><td>Цифры</td><td><input type="checkbox" name="case3"<? if ($case3=="on") {echo ' checked';}?>></td></tr>
<tr><td>Спец. символы</td><td><input type="checkbox" name="case4"<? if ($case4=="on") {echo ' checked';}?>></td></tr>
<tr><td>Кол-во символов</td><td><input type="text" name="num1" value="<? if ($num1!==0) {echo $num1;} else {echo "10";}?>" size="2" maxlength="2"></td></tr>
<tr><td>Кол-во паролей</td><td><input type="text" name="num2" value="<? if ($num2!==0) {echo $num2;} else {echo "6";}?>" size="2" maxlength="2"></td></tr>
</table>
<p align="center"><input type="submit" value="Сгенерировать"></p>
</form>
<?php
function pasgen($case1, $case2, $case3, $case4, $num1) {
$password="";
// Допустимые символы
$small="abcdefghijklmnopqrstuvwxyz";
$large="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$numbers="1234567890";
$symbols="~!#$%^&*()_+-=,./\<>?|:;@";
mt_srand((double)microtime()*1000000);
// кол-во символов в пароле
for ($i=0; $i<$num1; $i++) {
// генерация типа символов
$type=mt_rand(1,4);
switch ($type) {
case 1:
if ($case1=="on") {$password.=$large[mt_rand(0,25)];}
else {$i--;}
break;
case 2:
if ($case2=="on") {$password.=$small[mt_rand(0,25)];}
else {$i--;}
break;
case 3:
if ($case3=="on") {$password.=$numbers[mt_rand(0,9)];}
else {$i--;}
break;
case 4:
if ($case4=="on") {$password.=$symbols[mt_rand(0,24)];}
else {$i--;}
break;
} // end switch;
} // end for($num1);
return $password;
} // end pasgen();
if ($case1=="on" or $case2=="on" or $case3=="on" or $case4=="on") {
if (($num1>0 and $num1<=32) and ($num2>0 and $num2<=99)) {
echo <<<EOF
<table border="0" align="center" bgcolor="silver" cellpadding="40" cellspacing="5"><tr><td>
<code style="color:#000000;">
EOF;
// кол-во генерируемых паролей
for ($z=0; $z<$num2; $z++) {
echo htmlspecialchars(pasgen($case1, $case2, $case3, $case4, $num1))."<br>\n";
} // end for($num2);
echo "</code>
</td></tr></table>";
}
else {echo "<p align=\"center\">Недопустимое кол-во символов (>32) для генерации пароля или большое кол-во (>99) паролей для генерации!</p>";}
}
?>
</body>
</html>
Скорее всего совсем ерунда, т.к. чуть съехало, но не для таких ламеров-копипастеров, как я. )))
Вложения
Последнее редактирование: