PHP на практике. Делаем генератор паролей

PHP на практике. Делаем генератор паролей

Всем приуэт! Сегодня, перед тем как создавать урок, целый день долбил этот генератор паролей.  В этих 40 строчках скрипта оказывается может быть столько проблем!))

Генератор паролей представлят из себя форму, в которую вводится кол-во символов в пароле и кнопки подтверждения, после ее нажатия генерируется пароль. В коде используются все те функции, которые мы вспоминали на прошлом уроке. Блин, как училка говорю :D Вобщем код написан и сейчас будем его разбирать. (Кстати, не забываем коммнетировать!)

Сейчас пока только скелет программы. Полный код будет в конце. Все комментарии будут по ходу скрипта:

[sourcecode language='PHP']

if($_GET['number'] >= 50) // вот как раз мы получаем то самое значения атрибута name – number. Создаем условие, если number введенный нами более 50, то…
{
echo «Пароль из».$_GET['number'].» знаков. Слишком много»; // …выводится сообщение о превышении кол-ва сиволов.
}
else{ // в противном случае..
function gen_pass($number) // задаем функцию. Ту самую, которая генерит пароль.
{
$arr = array(’1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,’q',’w',’e',’r',’t',’y'); // вот это массив тех символов, которые как раз и буду участвовать в генерации. я не стал писать весь алфавит, т.к. для начала и этого хватит.

$pass = «»; // создаем пока пустую переменную
for($i = 0; $i < $number; $i++) // создаем цикл перебора каждого символа. цикл будет делаться столько раз, сколько задано символов юзером
{
$index = rand(0, count($arr) - 1); //а вот и та самая рандомизация. берет случайный элемент массива arr.
$pass .= $arr[$index]; // дописываем в переменную pass
}
return $pass; //возвращаем. зачем - сам не знаю)))) как узнаю, напишу.
}

echo "«.gen_pass($_GET['number']).»«; // ну а тут уже выводим сам пароль.
}
?>

[/sourcecode]

Вот это сам главный скрипт генерации пароля. Его можно запустить на сервере и он будет делать свое дело.

Ну а теперь уберем из кода комментарии, добавим немного креатива и дизайна))))

[sourcecode language='PHP']

Генератор паролей by Ярик &amp;amp;amp;copy;


8c44ba01

if($_GET['number'] >= 50)
{
echo «И куда тебе такой пароль из «.$_GET['number'].» знаков? «;
}
else{

function gen_pass($number)
{
$arr = array(’1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,’q',’w',’e',’r',’t',’y');

$pass = «»;
for($i = 0; $i < $number; $i++)
{
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
return $pass;
}

echo "«.gen_pass($_GET['number']).»«;
}
?>

[/sourcecode]

СМОТРИМ ЧТО У НАС ПОЛУЧИЛОСЬ В ИТОГЕ :D


Советую прочитать и эти посты:
- PHP на практике. Делаем скрипт редиректа для дорвеев
- PHP на практике. Введение
- Срезовый пост #1
- Новая цель – Добиться посещаемости блога до 100 человек в сутки
- Реклама на блоге

Комментарии

    20.09.2009
    #1

    Отправил в 19:11

    Понравилось что написал не просто обычный генератор паролей, а ещё постарался с дизайном: разукрасил форму, да и вобще за применённые знания тебе респект:)


    20.09.2009
    #2

    Отправил в 19:31

    Оптимизация кода:
    <?php
    function gen_pass($len=10)
    {
    if($len

    Не проще ли? А вот если там нету /dev/urandom тогда уже можно другой код юзать)


    20.09.2009
    #3

    Отправил в 19:31

    короче убилсо коммент =(
    аффтор если интересно пишы на емайл.


    21.09.2009
    #4

    Отправил в 00:01

    А Вы им сами готовы пользоваться, помоему он небезопасен из-за малого количества символов, добавте в код большие и малые английские буквы.


    21.09.2009
    #5

    Отправил Ярик в 11:55

    Да я просто показал пример генератора паролей, естественно его использовать глупо, но могу сделать его рабочим, а нужно ли?

    Ответить

    12.01.2010
    #6

    Отправил в 23:23

    > return $pass; //возвращаем. зачем – сам не знаю)))) как узнаю, напишу.
    это возвращаемое значение функции gen_pass. Если написать return «ololo», то эта функция всегда будет возвращать ololo

Оставить комментарий

orskp.ru – дорвеи, трафик, интернет-технологии и рядом стоящее.

Копируй, распространяй, воруй, убивай без согласия автора - в России можно все! Тут плевали даже на то, что все права защищены ©

2009 ... 2010