Авторизация

Статус
В этой теме нельзя размещать новые ответы.

-Ронин-

Новичок
Авторизация

Пишу свою первую авторизацию.
Впорос 1:
У меня есть статья :
Chapter 7. PHP Authentication Schemes
In This Chapter

Overview

Generating Passwords

Authenticating User Against Text Files

Authenticating Users by IP Address

Authenticating Users Using HTTP Authentication

Authenticating Users by Database Query
Эта статья на английском языке. Просмотрел в яндексе. Нашел много чего по авторизации. Но в основном все для HTTP Auth. Подскажите пожалуйста есть та статья, которую я опомянул на русском языке?

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

А так я понимаю что авторизация состоит из двух частей - базы пользолвателей и авторизации + куки.

Вопрос 2:
У меня друг для каждого пользователя в портале выделяет отделеньго пользователя в базеданных. Такое часто используется?
Одна из целей - на триггерах ведет логи по дйествиям в базе.
 

-Ронин-

Новичок
tf
прочитал уже, но собственно описания авторизации нет =(
есть ответы на некоторые вопросы.
Вопрос отсается открытым. Спасибо.
 

Фанат

oncle terrible
Команда форума
Chapter 7. PHP Authentication Schemes
судя по названию, это не статья, а глава из книги.
И если бы ты озаботился поиском этой книги, то давно бы нашёл интересующий тебя материал.
меня друг для каждого пользователя в портале выделяет отделеньго пользователя в базеданных. Такое часто используется?
никогда.
 

Sardonix

Новичок
Автор оригинала: -Ронин-
tf
прочитал уже, но собственно описания авторизации нет =(
есть ответы на некоторые вопросы.
Вопрос отсается открытым. Спасибо.
Вот самая простая схема.
Если есть необходимость в авторизации, значит пользователь уже зарегистрирован, поэтому начать стоит с регистрации.
Регистрация:
1)Пользователь вводит логин и пароль.
2) Логин и пароль методом POST передаются скрипту, который проверяет:
а) не пустые ли они
б) не существует ли такой логин у другого пользователя
Если такой логин есть или если любое из полей пусто - отбрасываем назад к форме.
Кроме того, скрипт обрезает/заменяет все некорректные символы типа кода РНР, запросов SQL и пр
3)Если со входными данными все в порядке, пересылаем их в БД, предворительно зашифровав пароль, например, по MD5 - т.е., пароль лежит в базе в шифрованном виде. После всех этих операций в БД имеется новый пользователь, имеющий свой ID, логин, пароль в шифрованном виде, какие-то другие данные, которые ты можешь добавить, предоставив пользоватею соотвествующие поля формы для заполнения. Параметр ID добавляется автоматически.

Авторизация:
1) Пользователь заполняет форму и отсылает логин и пароль скрипту методом POST
2) Скрипт шифрует пришедший пароль по тому же методу, покоторому шифровал при регистрации, например, по MD5, и ищет соответствие этой паре - логин + шифрованный пароль - в БД; если соответствие найдено - скрипт создает сеансовую куку и дает ее пользователю: эта кука будет пропуском в защищенные авторизацией области сайта.
3) Т.к., вышеупомянутая кука - сеансовая, то она пропадет после закрытия браузера или по факту деавторизации.
4)Деавторизация: когда пользователь деавторизуется, скрипт удаляет куку и перекидывает пользователя на любую не защищенную авторизацией страницу.
 

moggucci

Guest
Прошу прощения за наглость, Sardonix, но можно ли все, что вы сказали, написать в готовом виде? И это войдет в анналы )
Т.е. примерно так, типа создаете файл
registration.php
В нем должен быть след-щий текст:
PHP:
код
autorisation.php
В нем должен быть след-щий текст:
PHP:
код
Чтобы "сел и поехал".
Тема очень важная и нужная, не вижу смысла изобретать велосипед.
 

Sardonix

Новичок
Автор оригинала: moggucci
...написать в готовом виде...
Не думаю, что это хорошая идея:
1) Все, что я написал - это только схема, и она достаточно уязвима для критики, чтобы войти в какие-либо анналы.
2) Писать код долго и нудно - мне лень.
3) Администрация форума ратует за самостоятельный поиск решений пользователями - если я сделаю усилие над собой и всё же это напишу, я не думаю, что меня за это похвалят.
4) Будучи в чем-то солидарным с помянутой администрацией, я считаю, что это непедагогично.
5) Я точно понаделаю в коде ошибок, и мне будет стыдно...
 

moggucci

Guest
Хорошо, где-нибудь в нете есть готовй шаблон регистрации/авторизации php? Чтобы прям готовые php файлы скачать?
В спор включаться не буду, мне нужен результат - корректно работающая авторизация и регистрация.
 

Sardonix

Новичок
Автор оригинала: moggucci
Хорошо, где-нибудь в нете есть готовй шаблон регистрации/авторизации php? Чтобы прям готовые php файлы скачать?
В спор включаться не буду, мне нужен результат - корректно работающая авторизация и регистрация.
Да есть, наверное. Пошарь Гуглом или еще чем. Или возьми и воткни готовую CMS, только...самому-то интереснее написать... В общем, не мое дело....
 

dr-sm

Новичок
Sardonix не надо куки, надо в сессии хранить.

moggucci PEAR::Auth?
 

moggucci

Guest
dr-sm, спасибо, с PEAR::Auth разбираюсь сейчас. Похоже то, что мне нужно.
 

Sardonix

Новичок
Автор оригинала: dr-sm
Sardonix не надо куки, надо в сессии хранить.
Ну я, собственно, это и имел в виду под сессионными куками - просто меня так научили, что, скажем,
PHP:
$_SESSION['authorize'] = "authorize_flag";
- это кука, которая живет одну сессию браузера. Хоть и не кука это вовсе...
 

dr-sm

Новичок
Sardonix кука это просто кусок текста, который браузер клиента посылает серверу вместе с запросом. А сессия - это хранилище данных на сервере, ассоциированное с определенным клиентом с помошью SID, и обладающее определенным временем жизни. а вот для передачи этого SID могут использоваться session cookies, а может и query string. Так что с куками сессия ничего общего не имеет, и умирает она либо принудительно, либо по таймауту.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху