Проблема вот в чем: кто-нибудь авторизуется на сайте ,и если все успешно,то его перекидывает на site.ru/main ,где содержится основная информация.Сама форма авторизации лежит в site.ru так вот,если убрать "/main" , то перекинет на страницу с авторизацией. Как сделать так,если пользователь авторизован,то при переходе на site.ru ,его перекидывало обратно на site.ru/main ?Если можно,то подробно опишите.
После авторизации/регистрации создаешь сессию. При переходе на сайт site.ru проверяешь есть ли сессия если она существует редиректишь его на site.ru/main иначе оставляешь на site.ru
Как то ковырялся в кукисах, и обратил внимание, что одни сайты вешают PHPSESSID, другие нет. Но при всем при этом в обоих случаях не приходится вводить логин и пароль каждый раз. Получается аутентификация происходит немного по разному. В любом соучае в какойто куке вист метка которая сравнивается с той которая в БД и если всё совпадает так как нужно пользователь авторизован?
Насколько я знаю там не только куки сравнивают а еще несколько параметров типо браузера и еще что то.
Т.е. при регистрации для безопасности можно в БД сохранить IP / UserAgent / сессиию / доп. id для куки, и если хоть один из параметров не верный можно отказать в авторизации. Всё верно?
Да где то так. Ну там еще куки формируют с солью. я думаю если погглить то пару статей на эту тему на хабре найдешь. что бы не изобретать велосипед
Парни, вопрос не про это был. И заканчивайте с вашими «можно в БД сохранить IP / UserAgent». На дворе XXI век, причем уже давно.
Ну так и договаривал бы тогда, что не так. Это вроде раздел форума "для новичков" Если есть то, что мы не видим/не знаем/не понимаем, подскажи, поделись инфой. Будем благодарны!
Я думал, вы просто отвлеклись. Что надо ТСу, он в своем стартовом посте написал А по сабжу мне писать лень новорегу. Если проявит себя еще как-нибудь, тогда посмотрим.
Всё верно, отвлеклись, кажется ему по сути ответили сразу то что ему нужно. Поэтому я и спросил в чем подкол в "И заканчивайте с вашими «можно в БД сохранить IP / UserAgent». На дворе XXI век, причем уже давно." Как правильно пройти аутентификацию с последующей авторизацией? Достаточно открыть сессию при успешной аутентификации и всё?
Сомневаюсь, ну да ладно. Сразу бы процитировал только это, получил бы более адекватный ответ. Нынче такое время, что у одного и того же пользователя в соседних запросах могут быть разные IP / UserAgent. Я штатным механизмом сессий практически не пользуюсь. Видимо, да, открыть сессию и создать какую-нибудь сессионную переменную. Механизм ведь и создавался для упрощения жизни тем, кому не нужны особые изыски.
Не путать авторизацию с аутентификацией. Когда будешь различать эти два понятия, поймёшь что в каком случае делать. Схематично так: PHP: if ( ! авторизован_на_это_действие() ) { throw new исключение_403; // обработчик исключения решит что с этим делать } // до сюда дойдет только если исключения не было. ЭТО называется авторизацией ;) полезный код страницы функция авторизован_на_это_действие() может проверять что-то в сессии, если хочешь. а обработчик ошибки доступа может делать редирект на страницу аутентификации. этот код легко сопровождать. Да, вот так просто!