| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Авторизация для себя в скрипте |
| Автор: Elfet 7.4.2006, 18:50 |
| Как можно просто реализовать простую афторизацию на своём сайте? Пишу тобишь сайт для себя и лень делать сложную авторизацию. Может есть простой способ? |
| Автор: Elfet 7.4.2006, 19:41 | ||
Вот так можно?
|
| Автор: Wolf1994 7.4.2006, 19:45 |
| 1) Поставить куки админа. 2) Скрипт ставящий куки удалить. 3) Распознавать админа по кукам и продлевать срок их действия. |
| Автор: Elfet 8.4.2006, 12:21 |
| А может кто-нибудь про Auth_HTTP расказать? |
| Автор: ZlojEzh 8.4.2006, 12:34 | ||
| да там, в принципе, все в мануале есть экзампл из мана:
как видишь - все предельно просто создаешь в БД таблицу вида login-password (если нету БД можно использовать файлы или что-нить другое - контейнеров для паролей там много) вписываешь в этот кусок кода данные по БД и вставляешь в начало своего скрипта и все, собсна про dsn можно почитать в мане по PEAR:DB хотя я предпочитаю .htacess )) |
| Автор: IvanB 8.4.2006, 12:35 |
| Имхо, Google может.... http://dmitry.ints.net/library/prog/link/PHP/PEAR/packages.auth.auth_http.html Опоздал...) |
| Автор: Elfet 8.4.2006, 12:54 | ||
| Ок спасибо! А вот так вот безопасно будет?
$kernel->html->login(0); - форма ввода пароля $kernel->html->login(1); - Говория что удачно вошли $kernel->html->login(2); - Говорим что удачно вышли Такая авторизация по md5 на одни час (md5($myPas.$myPas_date)) из хеш пароля. С солью |
| Автор: IvanB 8.4.2006, 13:11 |
| ? А зачем два раза md5 применять? Вроде одного хватать должно....) Хотя генерация хеша - исключительно дело вкуса....) |
| Автор: ZlojEzh 8.4.2006, 13:13 |
| вот кто-то удивится, когда после трех суток работы md5_inside получит еще один хеш и строчку с временем... |
| Автор: Wolf1994 8.4.2006, 15:16 |
| Просветите ламера в этом деле. Хэш на куки ставится - чтобы уберечь куки от CSS-атаки (или как ещё их можно узнать)? |
| Автор: Elfet 9.4.2006, 14:03 |
| md5($myPas.$myPas_date) - это что бы хэш которые записываеться в куки работал только один час |
| Автор: AztEK 9.4.2006, 14:12 |
| Может я щас бред скажу, но может просто создать файл с названием типа vjshfhsduihiuvhsd.php Прописать в нём админку без всяких сессий и кук. Фик туда кто попадёт - название то... |
| Автор: Elfet 9.4.2006, 16:21 |
| Можно, но мне нужно лазить по самому сайту как админ. |
| Автор: Wolf1994 9.4.2006, 16:45 | ||
Задним умом догнал |
| Автор: Elfet 9.4.2006, 17:18 |
| Wolf1994, Чёт я не понял о чём ты Так как насчёт моего кода? |
| Автор: Wolf1994 9.4.2006, 19:37 | ||
Я всё никак не могу понять - зачем использовать эти хэши. Чем отличается хранение пароля в хэше и в простом, незакодированном, виде? То есть, я так понимаю, при добавлении в хэш времени, придаётся дополнительная защита. А если использовать всего один параметр - сам пароль - зачем хэш? |
| Автор: ZlojEzh 9.4.2006, 19:56 | ||||
найдут запросто более того, этот файл еще и поисковики, скорее всего, проиндексируют (даже если автолистинг папок отключен)
хеши используются для кодирования паролей даже если ты знаешь хеш пароля, восставновление по нему самого пароля займет очень много времени например, на сайте есть дыра под sql-injection позволяющая вывести на экран некую таблицу с хешами паролей даже если злобный хакер ) эту дыру найдет, получить пароль админа он все равно не сможет |
| Автор: Wolf1994 9.4.2006, 22:33 | ||
А что мешает этому хакеру установить соответсвующий кук с полученным хэшем? Ведь проверка идёт по кукам? |
| Автор: Ciber SLasH 9.4.2006, 22:41 | ||
Да вобщем ничего не мешает. В куки записывать конфединциальную информацию нельзя. |
| Автор: ZlojEzh 9.4.2006, 22:48 |
| абсолютно ничто поэтому куки лучше всего использовать (при создании системы авторизации) только для хранения идентификатора сессии а на сами сессии ставить ограниченный срок существования все бы хорошо, но раз в час пользователю придется вводить пароль по-новой я бы все же использовал сессии... а еще лучше - .htaccess |
| Автор: Wolf1994 9.4.2006, 23:41 |
| А чем безвременные куки хуже сессий? Если вывод информации фильтруется (htmlspecialchars ()) и они не лежат в MySQL-базе, то ведь их нет возможности узнать? |
| Автор: Ciber SLasH 9.4.2006, 23:55 |
| Куки можно перехватить, а сессия хранится на сервере. |
| Автор: Elfet 10.4.2006, 13:18 | ||
В том и заключаеться защита, что бы куки никто не воровал. Мой код имитирует сессии А то что каждый раз вводить новые - это да, но ведь я же хочу это для себя еделать только. Кстати такие штуки и в больших скриптах авторизации есть, например на masterhostе при входе в СР указываешь сколько будет длиться сессия |
| Автор: paraZite 10.4.2006, 22:06 | ||||||
Мой пример:
|
| Автор: Ciber SLasH 10.4.2006, 22:23 |
| paraZite, твой скрипт зациклится, т.к. ты при всех условиях перенаправляешь на этот же скрипт. |
| Автор: paraZite 10.4.2006, 22:37 |
| хз... если логин и пасс не введены, а кукисы невалидны идёт вызов die(); если введены логин и пассс и они валидны, выставляются куки и скрипт редиректит пользователя сам на себя, а так как кукисы уже не пусты, скрипт завершает свою работу, опознав пользователя... Ща протестю ещё раз на всякий случай... У меня ничего не циклится. |
| Автор: IvanB 11.4.2006, 09:07 |
| Имхо, для улучшения безопасности содержимое кукиса желательно завязывать на IP пользователя и ID сессии (или что там у вас)... Извините, если не то.....) |
| Автор: Elfet 11.4.2006, 11:11 |
| Это все понятно |
| Автор: IvanB 11.4.2006, 12:22 |
| Через файлы, чтоли? |
| Автор: Elfet 11.4.2006, 12:34 |
| Нет, воотбе без использования бд |