проблема basic/digest авторизации

Discussion in 'PHP' started by roflzi, 17 Oct 2011.

  1. roflzi

    roflzi New Member

    Joined:
    16 Apr 2010
    Messages:
    39
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте, хотел бы обсудить basic/digest authorization в этой теме.
    Причина этому такова, что при написании эмуляции данного типа авторзации, я заметил как браузер шлёт повторно хедер Authorization на каждый последующий запрос, что полностью противоречит правилам безопасности передачи данных.

    В моём скрипте я хотел что бы креденты передавались через digest auth, затем выдавался кук с session id.

    Нашёл небольшое решение проблемы: на удачный вход отправлять повторно статус 401, заголовок WWW-Authenticate и сам кук, затем юзеру нужно нажать Cancel и обновить страницу.
    Таким образом браузер (тестил на фф и ие) думает что авторизоваться не удалось и перестаёт слать Authorization, отправляя только кук.
    Метод не совсем удобный и практичный, но работает.
    пример на perl

    Хотелось бы узнать, есть ли другие, нормальные методы решения данной проблемы?


    UPD#1: Есть так же решения использовать авторизацию на субдомене или в другой папке, браузер сохраняет данные только на одну папку.
     
    #1 roflzi, 17 Oct 2011
    Last edited: 17 Oct 2011