ФорумПрограммированиеPHP для идиотов → Безопасная авторизация

Безопасная авторизация

  • malaba

    Сообщения: 165 Репутация: N Группа: Кто попало

    Spritz 7 февраля 2013 г. 21:16, спустя 4 часа 5 минут 13 секунд

    по факту никто ничего не скажет?
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 8 февраля 2013 г. 9:52, спустя 12 часов 35 минут 50 секунд

    По факту ты же на самом деле хотел чтобы тебя поддержали: да, чувак, твоя идея ох*на!

    Хочешь сравнения с чем-то другим? Во первых, термины:
    * Аутентификация - это когда пользователь ввел логин + пароль и мы их проверили
    * Идентификация - это когда мы узнаем пользователя, который прошёл аутентификацию. (например по session id или какой то иной куке)
    * Авторизация - когда идентифицированный нами пользователь проверяется на возможность выполнить какие-то действия. например, на действие "создать новую тему на форуме".

    То есть то, что обычно в чатиках называют "авторизация", на самом деле означает совсем другое :D

    Вот ты [ на самом деле ] спросил "безопасно ли идентифицировать пользователя по session id?"
    Ответ: сплошь и рядом так делают, наверное это не ужас. Хотя известны определенные уязвимости.

    Альтернативные способы идентификации:
    * отдельная кука, не сессионная, с id пользователя и хешем (дважды захешированный пароль);
    * кука, содержащая подписанные данные – HMAC;
    * базовая или дайджест аутентификация, которые используют для идентификации особые HTTP-заголовки вместо куков.

    Да, мучачо, тема обширная, а кому сейчас легко! В безопасности нет ничего надежного, а есть только "достаточно надежное для данной задачи".
    ιιlllιlllι унц-унц
  • malaba

    Сообщения: 165 Репутация: N Группа: Кто попало

    Spritz 11 февраля 2013 г. 9:16, спустя 2 дня 23 часа 24 минуты


    По факту ты же на самом деле хотел чтобы тебя поддержали: да, чувак, твоя идея ох*на!

    Хочешь сравнения с чем-то другим? Во первых, термины:
    * Аутентификация - это когда пользователь ввел логин + пароль и мы их проверили
    * Идентификация - это когда мы узнаем пользователя, который прошёл аутентификацию. (например по session id или какой то иной куке)
    * Авторизация - когда идентифицированный нами пользователь проверяется на возможность выполнить какие-то действия. например, на действие "создать новую тему на форуме".

    То есть то, что обычно в чатиках называют "авторизация", на самом деле означает совсем другое :D

    Вот ты [ на самом деле ] спросил "безопасно ли идентифицировать пользователя по session id?"
    Ответ: сплошь и рядом так делают, наверное это не ужас. Хотя известны определенные уязвимости.

    Альтернативные способы идентификации:
    * отдельная кука, не сессионная, с id пользователя и хешем (дважды захешированный пароль);
    * кука, содержащая подписанные данные – HMAC;
    * базовая или дайджест аутентификация, которые используют для идентификации особые HTTP-заголовки вместо куков.

    Да, мучачо, тема обширная, а кому сейчас легко! В безопасности нет ничего надежного, а есть только "достаточно надежное для данной задачи".
    Спасибо, просто я че то запарился…. всю жизнь так делал, а тут думаю может и другие способы есть а я не знал)

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 февраля 2013 г. 10:48, спустя 1 час 31 минуту 8 секунд



    По факту ты же на самом деле хотел чтобы тебя поддержали: да, чувак, твоя идея ох*на!

    Хочешь сравнения с чем-то другим? Во первых, термины:
    * Аутентификация - это когда пользователь ввел логин + пароль и мы их проверили
    * Идентификация - это когда мы узнаем пользователя, который прошёл аутентификацию. (например по session id или какой то иной куке)
    * Авторизация - когда идентифицированный нами пользователь проверяется на возможность выполнить какие-то действия. например, на действие "создать новую тему на форуме".

    То есть то, что обычно в чатиках называют "авторизация", на самом деле означает совсем другое :D

    Вот ты [ на самом деле ] спросил "безопасно ли идентифицировать пользователя по session id?"
    Ответ: сплошь и рядом так делают, наверное это не ужас. Хотя известны определенные уязвимости.

    Альтернативные способы идентификации:
    * отдельная кука, не сессионная, с id пользователя и хешем (дважды захешированный пароль);
    * кука, содержащая подписанные данные – HMAC;
    * базовая или дайджест аутентификация, которые используют для идентификации особые HTTP-заголовки вместо куков.

    Да, мучачо, тема обширная, а кому сейчас легко! В безопасности нет ничего надежного, а есть только "достаточно надежное для данной задачи".
    Спасибо, просто я че то запарился…. всю жизнь так делал, а тут думаю может и другие способы есть а я не знал)


    способы другие то есть :-)
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 11 февраля 2013 г. 10:53, спустя 5 минут 5 секунд

    дуд, он ждал "поглаживания", а не подсказок. моя кучабуков скорее для гугля )))
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 11 февраля 2013 г. 11:41, спустя 47 минут 52 секунды


    дуд, он ждал "поглаживания", а не подсказок. моя кучабуков скорее для гугля )))
    ааааа затупил. да ты охуенене мужик, так продолжай!
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 11 февраля 2013 г. 11:54, спустя 13 минут 19 секунд

    пашел ты! )))
    ιιlllιlllι унц-унц
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 19 февраля 2013 г. 19:10, спустя 8 дней 7 часов 15 минут

    чтобы каждый раз не подключаться к бд и не проверять по кукам правилность md5(пароля) делаем просто $_SESSION['auth'] = 1;

    нельзя. потому что в случае мультилогина если одна из сессий сменит пароль, то другие сессии должны прерваться, а при твоей схеме они продолжатся
    не всё полезно, что в swap полезло
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 19 февраля 2013 г. 19:15, спустя 5 минут 20 секунд

    так что либо каждый раз читать данные пользователя из базы, либо по смене пароля дропать другие сессии этого пользователя, т.е. модифицировать механизм сессий. впрочем, с учётом того, что по дефолту они хранятся в /tmp это так или иначе делать
    не всё полезно, что в swap полезло

Пожалуйста, авторизуйтесь, чтобы написать комментарий!