Самоучитель по креативному веб-дизайну. Книга 4, стр.19

Для генерации случайных паролей можно воспользоваться следующим РНР — сценарием:



function generatePassword()

{

// Выбрать начальное число для генерации длины пароля

mt_srand ((double)microtime() * 1000000);

$passwordLength = mt_rand (5, 8) ;



Глава10.РНР4 535





// Установить диапазон ASCII-символов для случайной генерации символов

// ASCII-коды 48-57 включительно — символы от 0 до 9

// ASCII-коды 65-90 включительно — символы от А до Z

// ASCII-коды 97-122 включительно — символы от а до z

$lowerBound = 48;

$upperBound = 122;

// Исключить специальные символы

$excludeSymbols =

array(‘:’,';•,’•.,•?•,,•@’,•[•,chr(92),']! ,’А’,’ ‘,’ч ‘) ;

// Создать случайный пароль

$i=0;

$password = «» ;

while ($i

{

mt_srand ((double)microtime() * 1000000);

$letter = chr (mt rand ($lowerBound, $upperBound) ) ;

if (!in array ($letter, $excludeSymbols))

{

$password.= $letter;

$i++;

}

} ‘..’ •

return $password;

}

Далее вставьте имя пользователя, адрес электронной почты, текущий IP-адрес,

системное время и (случайно сгенерированный) пароль в таблицу usemames

базы данных сайта. Затем вызовите встроенную функцию maii(), которая отпра — вит пароль по указанному посетителем адресу.

При входе посетителя на сайт сценарий входа будет выполнять поиск в таб — лице usemames введенных имени пользователя и пароля. Если сценарий нахо —

дит имя пользователя и пароль в таблице базы данных, он «активизирует» учет- ную запись члена сайта. В нашем примере (не показанный здесь, но

содержащийся в PHP-сценарии страницы chptiOTipiOLogin. php), сценарий вхо —

да на сайт для активации учетной записи сохраняет системное время в столбце

iast coiumn записи в таблице имен пользователей.

Web-страницы с формами и PHP-сценариями, описанными в этом совете, на —

ходятся в файле chptiOTipio. zip, который можно выгрузить из сайта издатель —

ства РУССКОЯЗЫЧНОЙ редакции ЭТОЙ КНИГИ (http://www. diasoft. kiev. ua).



Использование РНР и MySQL для организации парольного доступа к Web-сайту

В совете «Использование РНР и дискового файла для организации парольного

доступа к Web-сайту» выше в этой главе вы научились организовывать ограничен — ный доступ (т. е. доступ только для зарегистрированных членов) к Web-сайту с

помощью РНР и текстового файла, который содержит пары имя пользователя/ пароль и хранится на жестком диске Web-сервера. К сожалению, помещение списка авторизированных пользователей сайта в текстовый файл обладает не — сколькими недостатками:

53 6 / ‘ Глава 10. РНР4





• При каждом добавлении в файл новой пары имя пользователя/пароль уве- личивается время входа посетителя на сайт. С увеличением размера файла поиск совпадающей пары в файле будет выполняться все дольше и дольше.

• Удаление и редактирование пар имя пользователя/пароль в текстовом фай —

ле выполняется вручную, что представляет собой довольно-таки утомитель — ный процесс, связанный с потенциальными ошибками. Как результат, можно случайно изменить формат записей в файле доступа, что не позво — лит сценарию входа на сайт использовать файл для аутентификации посе — тителей.

• Сетевые пользователи (например, системный администратор и другие пользователи с привилегированными учетными записями) могут по ошиб —

ке удалить файл доступа при выполнении очередной «чистки» каталогов с

целью высвобождения дискового пространства (таким образом, в принципе исключив доступ посетителей на сайт). Или эти пользователи могут про —

сто просмотреть содержимое файла и узнать полный список пользователей вашего сайта и их паролей.

За счет хранения пар имя пользователя/пароль в базе данных SQL вы может исключить все описанные выше недостатки. Все пользователи, авторизированные для работы с таблицей доступа, работают с ней через СУБД. Поэтому никто не сможет изменить формат строк в файле доступа при вставке, удалении или ре — дактировании пар имя пользователя/пароль. Более того, вы имеете возможность контролировать операции пользователей путем открытия доступа для одних пользователей «только для вставки», в то время как для других — для «вставки», «удаления», «просмотра» и/или «редактирования». И, кроме того, независимо от количества зарегистрированных пользователей (будь их 10 или 10 000) РНР-сце- нарию потребуется одно и тоже (незначительное) время на сравнения пары имя пользователя/пароль для посетителя сайта.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

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

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 017
  • 15.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.40
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 098
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.118
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 046
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 014
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.14
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.15
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 005
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 091
  • 23.10.2011">Нанороботы от японцев
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 083
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.65
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.90
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 127
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...