![]() |
Аутентификация
Привет Народы! Подскажите. Есть на сервере в одном из каталогов сайта архивные файлы со справочниками. Эти файлы можно забрать в том случае если чел, зашедший на сайт зарегился на странице регистрации. Только после этого он может выполнить download выбранных файлов. Короче говоря надо сделать так чтобы чел захотя списать файлы справочников получил форму проверки зареглся ли он на сайте, после ввода его данных ему разрешается списывать выбранные файлы. Это нужно не в целях защиты, но для сбора инфы о народе который зарегился, специфическая область не всем интересна - медицинские справочники очень узкой направленности. :cool:
|
гм... и в чем, собсно, вопрос?
|
Ну Дык...
Ну надо сделать такой вариант аутентификации. Как и при помощи чего, только желательно через применение РНР а не чисто Apache. Подскажите... заранее спасибо. :cool:
|
if ($user_authentificated) {...} :)
ерунда это все... когда проблема ерудовая, тебе всегда ответят.. хоть как то... задал вопрос давеча... сложный как по мне... никто даже не заинтересовался... такие вот дела... |
... придется опять уточнить...
... Привет еще раз народ. Вот решил опять пояснить. Я регистрирую чела на сайте и данные по регистрации загоняю в базу мускулов, ну там всякое и логин с паролем сабо самой. Вот, а надо чтобы чел захотев списать необходимый файл занес свое имя и логин до этого занесенные им же при регистрации. А последний отклик от "Wave" Я не понял слегонца так. Извините за тупость...%)) :cool:
|
мда.... Ваще ничего не понял.. Ни того, ни другого...
Ладно, буду копать от себя и до следующего столба... Значит так. Есть табла с логинами: users(id int not null auto_increment primary key default '0', name varchar(30), passwd varchar(30)); есть табла соответствия идентификаторов временным ключам (зачем это - поймешь по ходу дела): uids(uid varchar(35), user_id int); Есть кук (назовем его $UID), в котором хранится текущий uid юзверя. При попытке скачать чего-нить, смотрим, есть ли этот кук. Если нет - значит юзверь не залогинился. Выдаем ему форму логина. Он вводит логин, пароль (или создает новый аккаунт), потом мы этот логин ищем в табле users и вытаскиваем идентификатор юзверя(если создается новый аккаунт, то добавляем их в таблу и вытаскивем оттуда идентификатор путем $user_id=mysql_insert_id(); ) Когда мы получили идентификатор, генерируем временный ключ для него и пихаем в куку UID, и в таблу uids: Код:
$UID = md5(uniqid(rand()));Теперь посмотрим, что делать, когда юзверь входит и у него уже есть кук UID. Надо всего-то просмотреть таблу uids и найти там такой UID. Если такой UID там есть, то вытаскиваем идентификатор юзверя, и делаем с ним что хотим. Ежели там такого UID`а нету, значит что-то тут не так, и мы убиваем кук, и предлагаем залогинится снова. Такую проверку придется осуществлять каждый раз, когда юзверь захочет что-то скачать (хотя бы просто для ведения статистики). А для того чтобы юзверь не мог скачать что-либо в обход логина - делаешь скриптик download.php, а сами файлы помещаешь за пределами каталога public_html. Скрипт вполне может получить к ним доступ и послать их юзверю, а вот юзверь получить доступ напрямую не сможет. |
Угу, а если куки отключены? ;)
|
я вообще-то больше по части ASP, но думаю что и в ПХП должно быть понятие SESSION.
я обычно их использую для процесса аутхентикации. дмитрий |
А вот это уже интересно...
Для daruka. Это интересно, ну по поводу сессий. Я бы хотел взглянуть как применяются сессии в ASP, ведб много схожего в нем с РНР. Если можно брось на мыло скриптик. Спасибо за ранее. :cool:
|
прошу прощения за выходные...
вобщем все просто. задаешь сделующим образом: <% session("name") = "Vasya" %> а потом выводишь, пользуясь session("name") как переменнной. |
| Часовой пояс GMT +4, время: 07:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.