Файл: controllers/generator.php
Строк: 26
<?php
//     Типы генераций:
//     1 - любые символы в любом регистре;
//     2 - символы, цифры и буквы английского алфавита в нижнем и верхнем регистрах;
//     3 - буквы+цифры в верхнем и нижнем регистрах, исключая сочетания l10O, 
//     т.е. это буква 'L' в нижнем регистре, единичка, ноль, буква 'O' в верхнем регистре.
session_start();
if (!isset($_SESSION['auth'])) 
{
    die("0");
}
if(isset($_POST['passlength'])) $passlength = addslashes(htmlspecialchars(strip_tags(trim($_POST['passlength'])))); else die("0");
if(isset($_POST['passtype'])) $passtype = addslashes(htmlspecialchars(strip_tags(trim($_POST['passtype'])))); else die("0");
function GeneratePassword($Length = 8, $Type = 3) {
  $limits='';
  switch ($Type) :
    case "1":
      $limits='40-59,61-91,93-126'; break;
    case "2":
      $limits='65-90,97-122,48-57'; break;
    case "3":
      $limits='65-78,80-90,97-107,109-122,50-57'; break;
    
  endswitch;
  if ($limits<>'') :
    $limit=explode(',',$limits);
    mt_srand(time());
    $res = '';
    for ($i = 1; $i <= $Length; $i++) :
      $nrand = mt_rand(0, count($limit)-1);
      list($min,$max) = explode('-', $limit[$nrand]);
      $res.=chr(mt_rand($min,$max));
    endfor;
    return $res;         
  endif;
}
    
die(GeneratePassword($passlength, $passtype));
?>