Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Кухарчик А. -> "РНР: обучение на примерах" -> 40

РНР: обучение на примерах - Кухарчик А.

Кухарчик А. РНР: обучение на примерах — Мн.: Новое знание, 2004. — 237 c.
ISBN 985-475-050-7
Скачать (прямая ссылка): phpobuchennaprimerah2004.pdf
Предыдущая << 1 .. 34 35 36 37 38 39 < 40 > 41 42 43 44 45 46 .. 68 >> Следующая

Есть еще одна проблема авторизации, которую не поможет решить даже наш подход к хранению паролей. Дело в том, что простые пароли очень легко восстановить методом перебора. Пишется несложная программа, которая перебирает различные варианты (комбинации символов пароля), шифрует их и сравнивает
результат шифрования с хранящимся в украденной базе. Это называется методом прямого перебора паролей (для этого существуют даже специальные словари).
Таким образом, очень легко «взломать» нестойкий пароль.
О стойкости пароля сказано уже очень много до меня, но вкратце смысл таков: ни в коем случае нельзя применять для пароля смысловое сочетание букв. Другими словами, пароль должен казаться полной бессмыслицей постороннему человеку. Такой пароль гораздо труднее подобрать методом прямого перебора и практически невозможно перебором слов по специальным словарям. Очень хорошо, если в пароле присутствуют знаки препинания, чередуются маленькие и большие буквы, используются цифры и т.д. Рекомендуйте это своим посетителям.
Кроме авторизации очень важным является пункт настройки чата. Как правило, применяются три варианта настройки: на-
138.
Программирование на РНР
стройка перед каждым входом в чат, настройка чата для посетителя один раз с дальнейшим использованием cookie и настройка чата в любой момент.
На мой взгляд, самым удобным является разумная комбинация всех трех вариантов. Если пользователь хочет настроить чат для себя — пусть настраивает, а если не хочет и ему нужен вход в чат одним щелчком, то для таких посетителей необходимо предусмотреть загрузку конфигурации чата по умолчанию.
Кроме загрузки по умолчанию, желательно предусмотреть гостевой вход, при котором не потребуется даже регистрация. Сделать это проще всего так: создать пользователя с именем Гость, выбрав для пароля, например, слово guest, и посетителю, входящему без ввода учетных данных (логина и пароля), загружать именно эту учетную запись.
Зарегистрированным пользователям можно предоставить возможность настраивать самые различные параметры — цвет фона,
шрифт и его размер, фразу для входа, время обновления окна чата, фильтр нецензурной лексики, отключение графических иконок и т.д. Все это должно присутствовать в окне авторизации или настраиваться в самом чате.
Как правило, все параметры настройки, введенные ник и пароль, передаются методом POST (CM. приложение 5) в загрузчик,
где после соответствующей обработки в браузер загружаются несколько фреймов .
Сделать чат без фреймов теоретически можно, но пользователям будет очень неудобно, так что вам просто придется освоить фреймовую структуру.
Как правило, чат состоит из трех-четырех фреймов. Экран делится на несколько частей по горизонтали и вертикали. В горизонтально разделенных фреймах обычно выводят информацию о количестве посетителей в чате (чаще — просто их список) и, собственно, саму текстовую (сопровождаемую графическими
1 Фреймы — подокна в окне сайта. Информация в одном фрейме размещается независимо от другого и может иметь свою автономную полосу прокрутки. (Примеч. ред.)
Чат
139
смайликами) информацию, которой обмениваются посетители. В вертикально разделенных фреймах можно обеспечить окно для ввода текста, выбор его вида, цвета и т.д. Там же выбираются иконки, если они предусмотрены. Кроме того, в вертикально разделенных фреймах можно выводить и другую полезную информацию — рекламу, ссылки, счетчики и т.д.
Перед тем как фреймовая структура будет сформирована и передана браузеру, нужно очень многое предусмотреть. Кроме авторизации необходимо вести учет входов (для показа тех, кто находится в данный момент в чате), проверять соответствие дат и предусмотреть файлы журналов разговоров, если это нужно.
Кроме того, надо проверять и корректировать все введенные пользователем данные. Не рассчитывайте, что переменные, переданные вашему загрузчику методом POST, не смогут принять непредусмотренное вами значение. Ведь можно воспользоваться еще и методом GET (CM. приложение 5), а это значит, что вашему
загрузчику могут такое передать.. ! По этой причине обрабатывать полученные переменные необходимо по всем правилам. Другими словами, всегда проверяйте, соответствует ли полученная переменная нужному диапазону, и если нет — лучше всего присвоить ей стандартное значение. Кстати, желательно контролировать метод передачи данных. Если вы применяете метод POST, проверьте переменную окружения $QUERY_STRING. ЕСЛИ она не пустая, значит, вашему загрузчику пытаются что-то передать еще и при помощи метода GET. ЭТИ ПОПЫТКИ нужно пресекать.
Кроме самого загрузчика фреймовой структуры, данные необходимо передать в другие файлы чата. Если этого не сделать, все настройки чата будут утеряны, а авторизация потеряет всякий смысл, так как любой желающий сохранит ваш загрузчик у себя на диске, подредактирует его, запустит и войдет в чат, минуя все входные процедуры. Как минимум, это дает возможность ему быть невидимым в чате, как максимум входить под любым ником, что, согласитесь, неприятно. Чтобы такого не происходило, вам придется немного усложнить один или несколько фреймов, точнее — программ, отвечающих за вывод информации во
Предыдущая << 1 .. 34 35 36 37 38 39 < 40 > 41 42 43 44 45 46 .. 68 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100