Intereting Posts
PHP PDO Keep Getting Error: Charset = UTF8: недопустимая фраза chacheet была указана в строке dsn PHP получает путь к каждому файлу в папке / подпапке в массив? PHP – Как перенести пустые значения массива на его последние позиции Слишком большие данные POST. Уменьшите данные или увеличьте значение "post_max_size" Как удалить заголовки HTTP из ответа CURL? Laravel – запрос Guzzle / cURL 6: не удалось разрешить хост Продолжайте получать ошибки на веб-сайте с помощью AnchorCMS Magento добавляет настраиваемое поле в адрес доставки и платежного адреса на одной странице PHP при записи в файл, Как добавить и добавить текст в файл с существующим текстом? Выбор динамических значений из формы HTML и сохранение в PHP varibles Переопределение заголовка кэша PHP Постоянный вход в PHP – я переиздаю файл cookie после каждой проверки подлинности на странице? Найти количество открытых сеансов Как получить значимые сообщения об ошибках из MySQL с помощью подготовленных отчетов PDO? Включить / отключить кнопку отправки на основе переключателей

После входа в систему, должны ли все страницы быть https?

Это будет немного сложно объяснить, но я постараюсь изо всех сил.

Существует веб-сайт, на котором есть форма входа на каждую страницу с полями имени пользователя и пароля. Эти страницы не используют SSL. После того, как пользователь заполнит имя пользователя / пароль и отправит форму, форма отправляется на страницу аутентификации https.

У меня есть несколько вопросов об этой ситуации.

  1. При отправке формы на страницу https зашифрованы данные? Или только после перехода с https-страницы (я предполагаю, что это только происходит)?
  2. Если ответ на номер один – это лестница, значит ли это, что мне нужно будет использовать https для всех страниц, потому что отсюда будет перенаправлена ​​форма входа?
  3. После аутентификации пользователя с помощью https пользователь может быть перенаправлен обратно на http и продолжить использование данных сеанса? Или пользователь должен оставаться в https?
  4. Лучше / хуже оставить пользователя в https?

Большое спасибо за любую помощь!
метрополия

ВЫВОД

Хорошо, поэтому, подумав об этом некоторое время, я решил просто сделать все это https. @Mathew + @Rook, ваши ответы были отличными, и я думаю, что вы оба делаете большие очки. Если бы я был в другой ситуации, я, возможно, делал это по-другому, но вот мои причины для создания всего https.

  1. Будет легче контролировать запросы на страницы, так как мне остается только оставаться в https.
  2. Я не слишком беспокоился об исполнении (в другой ситуации, возможно, я был)
  3. Мне не нужно задаваться вопросом, обеспечены ли данные пользователей во всех местах
  4. Я буду следовать руководству OWASP, как заявил Рук

Согласно Топ-10 OWASP ни в коем случае нельзя использовать аутентифицированный идентификатор сеанса по HTTP. Таким образом, вы создаете сеанс по протоколу HTTP, а затем этот сеанс становится аутентифицированным, тогда вы нарушили Top 10 OWASP, и вы позволяете вашим пользователям быть восприимчивыми к атаке.

Я рекомендую установить безопасный флаг в вашем файле cookie . Это ужасное имя для этой функции, но заставляет файлы cookie быть только https. Это не следует путать с «Httponly cookie», который является другим флагом, который помогает смягчить влияние xss.

Чтобы ваши пользователи были в безопасности, я постоянно использовал HTTPS. ssl – очень легкий протокол, если вы сталкиваетесь с проблемами ресурсов, а затем подумайте о цепочке https-политик.

  1. Да. Если URL-адрес действия – https, данные формы зашифровываются.
  2. Из-за # 1 вам не нужно делать страницу https, но вы можете получать предупреждения о смешанном содержании. И, конечно же, злоумышленник «человек в середине» может манипулировать страницей входа, чтобы указать на другой URL-адрес действия.
  3. Это решение для вас. Очевидно, что любые данные, передаваемые через HTTP, будь то файлы cookie (включая файлы cookie cookie) или пользовательские данные, могут быть перехвачены и обработаны.
  4. Опять же, это компромисс, основанный на производительности и безопасности.

В дополнение к тому, что говорит The Rook, отправка формы с http на https представляет собой риск для нескольких причин:

  1. На странице, где люди вводят свое имя пользователя и пароль, нет значка «блокировки», поэтому у них нет способа узнать, что их данные зашифрованы (за исключением «доверять вам»)
  2. Если кто-то захватил вашу страницу, ваши пользователи не будут знать, что они собираются ввести свое имя пользователя и пароль и перенаправить на вредоносную страницу (это как следствие из-за № 1).

Это гораздо более простая атака, чем перехват http cookie, поэтому на самом деле это еще больший риск …

Но точка «Грач» важна: вы никогда не должны смешивать трафик http и https. На наших сайтах, как только вы вошли в систему, с этого момента все https.

Помимо предыдущих ответов, поскольку люди склонны идти от HTTPS к HTTP по соображениям производительности, эта статья о HTTPS в Google может представлять интерес. Его главное сообщение:

SSL / TLS больше не является дорогостоящим.