| Вот решил немного дополнить скрипт генерации пароля, может быть кому-нибудь понадобиться:
<?php
/////////////////////////////////////////////
// Фцнкция для генерирования равномерного
// пароля
/////////////////////////////////////////////
function generate_passwd($numlimit, $savetofile)
{
/////////////////////////////////////////////
// Массив с символами, входящими в состав
// генерируемого пароля
/////////////////////////////////////////////
$array_chars = array('a','b','c','d','e','f',
'g','h','i','j','k','l',
'm','n','o','p','r','s',
't','u','v','x','y','z',
'A','B','C','D','E','F',
'G','H','I','J','K','L',
'M','N','O','P','R','S',
'T','U','V','X','Y','Z',
'1','2','3','4','5','6',
'7','8','9','0','.',',',
'(',')','[',']','!','?',
'&','^','%','@','*','$',
'<','>','/','|','+','-',
'{','}','~');
/////////////////////////////////////////////
// Генерируем пароль
/////////////////////////////////////////////
$passwd = "";
for($i = 0; $i < $numlimit; $i++)
{
// Вычисляем случайный индекс массива
$index = rand(0, count($array_chars) - 1);
$passwd .= $array_chars[$index];
}
/////////////////////////////////////////////
// Если параметр $savetofile равен единице,
// то сохраняем его ф файл
/////////////////////////////////////////////
if($savetofile == 1)
{
// Открываем файл
$fid = fopen("passwds.txt", "a+");
// Добавляем строку с паролем в файл, дату
// его генерации и IP адрем пользователя
$date = date("F:d:Y");
// Получаем адрес пользователя
$ipaddress = $_SERVER['REMOTE_ADDR'];
// Формируем переменную
$passwd_write = $passwd." : ".$date." : ".$ipaddress."\r\n";
// Записываем в файл
fwrite($fid, $passwd_write);
// Возвращаем результат
return $passwd;
}
else
{
// Возвращаем результат
return $passwd;
}
}
?>
<form action="<?php echo basename($_SERVER['PHP_SELF']); ?>" method="post">
<table cellpadding="2" cellspacing="0" border="0">
<tr>
<td colspan="2"><b><font color="#8B1010">Введите длину пароля</font></b></td>
</tr>
<tr>
<td><input type="text" name="numlimit" size="20" value="<?php echo $_POST['numlimit']; ?>"></td>
<td><input type="submit" name="goaction" value="Генерировать"></td>
</tr>
</table>
</form>
<?php
/////////////////////////////////////////////
// Если параметр передан. то выводим
// сгенерированный пароль
/////////////////////////////////////////////
if(isset($_POST['numlimit']))
{
// Проверяем значение переменной
if(!is_numeric($_POST['numlimit']))
{
echo "<b><font color=#000000>Неправильный формат длины генерируемого пароля</font></b>";
exit();
}
else
{
// Выводим пароль
echo "<b><font color=#000000>".generate_passwd($_POST['numlimit'], 1)."</font></b>";
}
}
?>
|
| |