Аутентификация пользователя - угроза безопасности при передаче файлов cookie сеанса через HTTP? - PullRequest
1 голос
/ 21 марта 2012

У меня есть «Центр клиентов» на моем сайте, который доступен только через HTTPS. В настоящее время я использую один файл cookie сеанса для отслеживания переменных сеанса PHP, таких как User_Authenticated, Client_ID и т. Д. После их входа в систему.

Я хочу изменить ссылки на моей навигационной панели с «Вход» на «Выход из системы | Центр клиентов» после того, как они вошли в систему. Это достаточно просто, но большинство моего веб-сайта имеют абсолютные ссылки, которые указывают на HTTP вместо HTTPS , Я мог бы сделать все свои ссылки относительными и, таким образом, надеюсь, что они останутся на HTTPS, как только они войдут в систему, но мой сайт интенсивно использует графику, и я не могу гарантировать, что они останутся на HTTPS (если, например, они введите http://mysite.com в браузере после входа в систему).

Мой вопрос таков:

1) Есть ли риск при передаче этого куки через HTTP? Я слышал, что это может быть перехвачено и подделано. Это было бы плохо!

2) Могу ли я использовать два файла cookie, один из которых является файлом cookie secure_only, который содержит их учетные данные, а другой - просто сообщает браузеру, вошли они в систему или нет, для ссылок на моей панели навигации? Можно ли использовать несколько сеансов одновременно, например, с разными файлами cookie?

Я также слышал об использовании основанной на базе данных системы управления сеансами, но сейчас это слишком сложно. Я новичок в PHP и MySQL (это мой первый сайт).

Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 21 марта 2012

Аутентификационные куки, передаваемые через http, - плохая идея. Это проблема, которую выявил firesheep, и причина, по которой Google, Facebook и Twitter, в частности, теперь все время поощряют (или требуют) https.

Если вы беспокоитесь о захвате сайта на своем веб-сайте, то вам следует применять https для каждой страницы и ресурса, который необходимо защитить. Идеально применять https для всех ресурсов, чтобы избежать раздражающих предупреждений о смешанной безопасности на странице.

1 голос
/ 21 марта 2012

Вы можете делать что хотите, используя второй файл cookie. Затем вы можете использовать файл cookie сеанса для страниц HTTP и HTTPS (чтобы получить состояние входа в систему), но выполнять аутентификацию только со вторым файлом cookie только для HTTPS.

Я написал статью , описывающую, как разделить эти две проблемы, поддерживая сеанс и аутентификацию. Это хорошо, даже если вы решите использовать HTTPS для всего сайта.

Я бы подумал о применении HTTPS для всего сайта, хотя это облегчит вашу жизнь. Если ваш сайт имеет не очень высокий трафик, это не должно быть проблемой для современных серверов.

0 голосов
/ 21 марта 2012

Вы можете использовать это

http://systembash.com/content/force-https-ssl-access-url-apache/

...