Умная SESSID?

Discussion in 'PHP' started by Mixon, 25 Jul 2010.

  1. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Здравствуйте. Сейчас я пытаюсь сделать авторизацию клиента на сервере,и вот задался вопросом,место того чтобы в куки клиенту совать login и password - сделать сессию,как на большинстве сайтов сейчас,что сохранять в SESSID,чтобы сервер "узнавал" клиента?
    IP? - не покатит,потому как нужно чтобы сессия не рвалась при динамическом IP,после перезагрузки машины.
    UserAgent? - можно,но его не достаточно,само собой.
    Чего посоветуете, для более тонкого распознания клиентов?
     
    #1 Mixon, 25 Jul 2010
    Last edited: 25 Jul 2010
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Mixon сессия сама по себе обладает уникальным идентификатором, не нужно никак "привязывать" ее к клиенту. Кука либо есть, либо ее нет. А вот в сессионных переменных вы можете хранить ID пользователя, чтобы идентифицировать, что владелец данной куки именно этот пользователь
     
    _________________________
  3. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Gifts,я не использую стандартную сессию,вот какраз же я и хочу создать свою,сам задавать её в куки и записывать в MySQL...
    Считай аналог PHPSESSID,но более продвинут...конечно если всётаки будет достаточно параметров доступно для её нормального создания.
    Вот перерыл весь phpinfo,ничего толком сервер не знает о клиенте,кроме его IP и ЮзерАгента((

    Я хочу сделать по схеме:
    юзверь высылает Логин,Пароль => если верно - создается MD5 из параметрами => Этот хеш записывается в MySQL,под ником пользователя и записывается в COOKIES самого клиета

    После чего,если сессия обнаружена и она "живая",то всё ок,а если нет - выбрасывает авторизацию.
     
    #3 Mixon, 25 Jul 2010
    Last edited: 25 Jul 2010
  4. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    611
    ты что сальвии покурил? только же сам все верно написал.
     
  5. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    если бы её я курнул - мну бы тут небыло еще денек))
    а вот что ты курнул - я не знаю
    если ты внимательно прочтешь 1й пост,то увидишь,я спросил какие параметры добавлять,а не как именно!

    Вот именно в параметрах то и проблема,какие засунуть,и откуда из взять-то? потому как phpinfo бедный...
     
  6. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    611
    md5(uniqid())
    зачем тебе какие-то параметры для рандомной строки нужны?
     
  7. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    PHP:
    $cookie md5($login.$pass.microtime());
     
  8. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12

    Представим ситуацию,у меня на сайте появилась XSS,все этот MD5 хеш себе вставили в куки,и сидят наслаждаются в моей учЁтке,так?
    моднявый вариант))
    единое отличие от банального это то-что нету хеша пароля,чтобы брутить на будущее...))

    Наглядный пример, куки от вконтакте.ру, сейчас,если ты их достанешь - никакого толку,там какает хитрая система,если сменяется ИП - браузер сам переадресуется и обновляет хеш,если его украли - стирает и бросает на login.php...
    И даже если затереть сессию с кукисов,то она всёравно восстанавливается сама,каким образом - загадка.
     
    #8 Mixon, 26 Jul 2010
    Last edited: 26 Jul 2010
  9. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    611
    httponly
     
  10. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Классно,ты то что я писал на пару постов выше - не читал))
    я пишу Свой метод создания сесии,а не дать мне параметров для Php Session Functions...
     
  11. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    611
    ***ню ты пишешь, а не свой метод создания сессии.

    если ты боишься ксс, то я тебе дал защит от него: параметр HttpOnly (открой гугле и посмотри что это). а для идентификации нужна одна сессия, по которой и будет пользователь авторизироваться на сайте. любое рандомное значение + остальное в бд. никаких паролей, логинов, почт).
     
    #11 GreenBear, 26 Jul 2010
    Last edited: 26 Jul 2010
  12. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    т.е. ты поклонник только стандартной сессион_старт()? так бы с самого начала и сказал...
    я ищу ему альтернативу,такую как вконтакте к примеру...
    А стандартные - слишком просты для нынешнего времени
     
  13. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    611
    с тобой не интересно. я тебе все написал, и причем тут session_start я не знаю.
     
  14. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    гугл сказал - HttpOnly это один из флагов стандартных функций сессион_...
    а если у него Много значений которые относятся к сессиям непосредственно - ссылочку на инфу
     
    #14 Mixon, 26 Jul 2010
    Last edited: 26 Jul 2010
  15. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    611
    http://www.owasp.org/index.php/HttpOnly
     
  16. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    хм,интересная штуця,сейчас буду тестить) сенк)
     
  17. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    В принципе не плохая опция,но вопрос всё еще открыт,потому как невозможность работать с сессией через javascript - тоже являеться проблемой,в плане манипуляций с сессией (ей обновление средствами javascript (ajax),удалением ними-же)
    + метод обезопасит разве-что от обычного xss,а от подмены IP в hosts или любого другого метода перехвата трафика - нет; При гугле 3я ссылка "Методы обхода хттпонли" :D
    + не все браузеры это поддерживают
     
    #17 Mixon, 26 Jul 2010
    Last edited: 26 Jul 2010
  18. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    611
    напиши алгоритм шифрования наподобии AES и внедри его во все компьютерные устройства. ты походу от веба хочешь чего-то невозможного.
    у тебя из оперы "все дураки, один я умен и *****т, хочу наебать всех и указать, как можно было бы..."
     
  19. Mixon

    Mixon Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    хм,пример: Сайт vkontakte.ru
    они написали алгоритм вида AES? сомневаюсь
    Только то-что я заметил:
    - У них если стереть из куков полностью всё,в том числе и сессию - она восстанавливается
    - если сменить IP - восстанавливается
    - если вставить в другой комп,передавать полностью идентичен запрос серверу - сессия обрывается

    У меня стоят 2 компа рядом,соединены через 1 роутер (т.е. ИП и сеть идентичны),и я беру сессию из одного и подменяю на 2й машине - сессия обрывается.
    А теперь скажи,это они у бабки заклинание или зелье купили,или как твоими словами такую сессию объяснить?
    При этом,никаких дополнительных запросом из "высыланием" данных нету...
    дас иш фантастиш,друг мой?
     
    #19 Mixon, 26 Jul 2010
    Last edited: 26 Jul 2010
  20. nick1000

    nick1000 New Member

    Joined:
    10 May 2009
    Messages:
    25
    Likes Received:
    2
    Reputations:
    0
    ты куки login.vk.com подмени и посмотришь что будет...
     
Loading...