Логин / Регистрация

1. ____________________ (16.04.2014 / 00:10)
Добрый день господа визавишники.
Недавно, прочитав самоучитель по php и mysql я наконец понял, что такое mysql и с чем его едят. В связи с этим я решил начать проект, который давно хотел реализовать, но сразу при написании регистрации возник вопрос, как закрыть регистрацию от уже вошедших на сайт пользователей? Каждый раз проверять, авторизован ли пользователь?
Прошу помочь также с одним вопросом, возникшем, при чтении самоучителя: в одном из проектов, показанных как пример из самоучителя использовалось поле формы с типом hiden. Можно ли заменить это поле вручную, имея права обычного пользователя?
И еще, дайте советы, по обработке форм, текстовых полей.
Заранее большое спасибо.

2. iNeeXT (16.04.2014 / 01:22)
Каждый раз проверять, авторизован ли пользователь?
Верно, нужно проверять.

Можно ли заменить это поле вручную, имея права обычного пользователя?
Можно подменить hidden-поля. Поэтому лучше проверять их на правильность после отправки пользователем.

3. Zдешний (16.04.2014 / 06:10)
1. Avrong, проверяй авторизацию исходя из того, как ты авторизовываешь пользователя. например запись в сессию идёт? ну так и if(isset($_SESSION['что то'])){}

4. ____________________ (16.04.2014 / 06:58)
Я понял так: При каждом действии, например нажимание на кнопку отправить сообщение, нужно проверять правильно ли пользователь вошел(логин и пароль из сессии) если да, добавлять сообщение по параметрам: Тема в которую добавляем сбщ(скрыт), сообщение(открыт). Если же он замнил пароль или логин в сессии или он не входил, то отправляем его на страницу авторизации.

5. Zдешний (16.04.2014 / 07:40)
4. Avrong, зачем скрывать поля? Через гет передавай данные да проверяй. Про проверку авторизации - напиши функцию проверки и инклудь ее вверху страничек. Только не громозди, а то будет генерация как на профивм D

6. Виталий (16.04.2014 / 14:19)
при авторизации используй сессии например можно указать что пользователь авторизован так:
  $_SESSION['auth'] = true;

Потом проверяй эту переменную, где будет нужно.

сделай функцию типа is_auth() в которой будет осуществятся проверка авторизации которая будет возвращать true/false. а далее используй так:

if (is_auth()) {
  echo "пользователь авторизован";
} else {
  echo "войдите";
}

Еще как вариант, если версия php доросла до анонимный функций можно еще применить и их. Например сделать функцию которая в случае когда пользователь разлогинен возвращает сообщение с просьбой авторизоваться а в противном случае вызывает анонимную функцию.

Тогда можно будет использовать так:
  is_auth (function ($user) {
    print 'Добрый день, ' . $user->firstname;
  });

только здесь вариант еще с переменной $user которая должна будет пред определятся в функции хранить в себе объект класса для работы с пользователями. по крайней мере так устроенно у меня.

7. Zдешний (16.04.2014 / 18:06)
Ну у меня пишется в сессии два значения - логин и значение: софт+ип+некое слово и всё в md5. Так же при авторизации это записывается в куки и в БД. При переходе по сайту как раз если юзер авторизован - сравнивается значение с тем что в сессии и в БД. Если не совпало - разавторизация и сообщение, что к сожалению сессия истекла. правда это тоже не самый приятный вариант smile

8. ____________________ (16.04.2014 / 19:16)
7. Zдешний, хороший вариант, и зайти по куки так просто нельзя, ато в вк скопировал куки друга и спокойно за него можешь зайти.

9. Zдешний (16.04.2014 / 19:49)
8. Avrong, тоже не идеальный вариант у меня. лучше самому всё продумать и сделать по-своемуsmile

10. ____________________ (16.04.2014 / 20:19)
Спасибо всем отписавшимся. Прошу закрыть тему.

11. Николай (16.04.2014 / 20:59)
Avrong (16 Апреля 2014 / 22:19)
Спасибо всем отписавшимся. Прошу закрыть тему.
closed

URL: https://visavi.net/topics/40494