За последние 24 часа нас посетили 20466 программистов и 1648 роботов. Сейчас ищут 1579 программистов ...

Система авторизации и ограничение кол-ва попыток авторизаци.

Тема в разделе "PHP и базы данных", создана пользователем animen, 8 окт 2010.

  1. animen

    animen Активный пользователь

    С нами с:
    27 янв 2010
    Сообщения:
    11
    Симпатии:
    0
    Есть рабочая, не сложная система авторизации. К ней хочу сделать ограничение на кол-во попыток авторизации пользователем и в случае превышения допустимого кол-ва попыток блокировка возможности авторизации для конкретного пользователя на 15 минут.

    В принципе первую часть я уже сделал, и осталась основная самая сложная для меня часть, это блокировка и автоматическая разблокировка после истечения 15 минут.

    На данный момент сделана сама авторизация, при авторизации сперва идет проверка есть ли в БД аккаунт пользователя, который хочет зайти в персональную часть. После этого идет проверка кол-ва попыток авторизации(хранятся в аккаунте пользователя каждого свои), и если кол-во попыток не израсходовано, то уже проверяет пароли, тот что пользователь ввел в поле авторизации и который записан в аккаунте пользователя. Далее если пароли совпали следовательно редирект на главную страницу персональной области пользователя. Если же пароль неправильный выдает сообщение об ошибке пользователю и в аккаунт пользователя добавляет + 1 попытку авторизации. И так пока не наберется максимальное кол-во попыток авторизации. После того как пользователь израсходовал все попытки авторизации ему выдает сообщение, о том что "превышено максимальное число попыток авторизации. Ваша учетная запись заблокирована на 15 минут. " и на этом я зашел в тупик... ну в принципе после этого сообщения должен быть запрос, который бы выставлял в аккаунте пользователя дату блокировки учетной записи. Для этого я сделал отдельную ячейку в в БД. А вот дальше в каком формате туда записывать... и каким образом отсчитывать от этой даты 15 минут и сравнивать с текущим временем сервера не могу сделать... Собственно в этом и проблема.
     
  2. neverlose

    neverlose Активный пользователь

    С нами с:
    27 авг 2008
    Сообщения:
    1.112
    Симпатии:
    20
    Если логику знаете, но не умеете написать код, то вам в фри ланс.
     
  3. animen

    animen Активный пользователь

    С нами с:
    27 янв 2010
    Сообщения:
    11
    Симпатии:
    0
    ладно, там в принципе разобрался уже...
    Единственное вопрос, использовал в коде функцию
    PHP:
    1.  
    2. time ();
    3.  
    время получается в таком как 958905820
    Можно ли его в ручную без дополнительных значений в функции как-то расшифровать, преобразовать чтоб понять что представляют из себя эти цифры?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    animen
    чел.
    эти цифры - просто рандом. прими их как данность, распечатай и повесь на кухне.

    а документация - это для лохов. http://ru.php.net/manual/en/function.time.php