Недавно я начал очень внимательно смотреть на сеансы PHP с целью укрепления безопасности моих сайтов. Я наткнулся на session_set_cookie_params()
. Меня особенно интересовал 4-й параметр (boolean secure
). Означает ли это, что сайт должен работать с защищенным протоколом http (https), чтобы установить этот параметр в true? Если нет, то как PHP затем отправляет файлы cookie через безопасное соединение для сайта, который использует только протокол HTTP?Каковы последствия отправки файлов cookie через безопасные соединения в PHP
ответ
Флаг secure
является частью спецификации для печенья. Если браузер получает файл cookie с установленным флагом secure
, он не отправит этот файл cookie на сервер, если только соединение не зашифровано в HTTPS. PHP будет установить cookie независимо от текущего состояния соединения, он не знает и не знает о присутствии HTTPS; вам нужно убедиться, что вы также устанавливаете файл cookie поверх HTTPS.
Вы должны отправить кук аутентификации исключительно через HTTPS, чтобы избежать прямого угона сессий мужчин-в-средних или другие незащищенные сетей (например, совместно незашифрованный Старбакс Wi-Fi). Иначе вытащить секретный идентификатор сеанса из эфира - это реальная возможность, и поэтому любой может выдать себя за другого. И это означает, что все время, когда пользователь входит в систему, он должен взаимодействовать с вашим сервером через HTTPS, поскольку cookie все время идет вперед и назад; использование HTTPS только для начальной страницы входа недостаточно.
По умолчанию файлы cookie отправляются для всех запросов (http и https).
Если вы установили безопасный флаг в true, браузер отправит их только для запросов https.
Важно всегда устанавливать безопасный флажок для файлов cookie для проверки подлинности: даже если вы не не используете http-запросы, кто-то другой может заставить браузер сделать это, и даже если вы ответите 301, уже слишком поздно, они уже отправлены в ясном тексте.
Для полного https-сайта вы можете систематически установить безопасный флаг в значение true.
- 1. cfhttp через безопасные соединения
- 2. Только безопасные файлы cookie, возвращающие NULL через $ .cookie в консоли?
- 3. Каковы последствия относительного длительного соединения TimeOut?
- 4. Очистка файлов cookie через PHP
- 5. Безопасные расширения файлов
- 6. Безопасные файлы cookie?
- 7. Каковы последствия/последствия AjaxPro HttpSessionStateRequirement?
- 8. Безопасные файлы cookie на сеансах PHP
- 9. Безопасные файлы cookie в ASP.NET
- 10. Каковы последствия использования шаблонов проектирования в PHP?
- 11. Безопасные сеансовые файлы cookie в ASP.NET через HTTPS
- 12. Каковы последствия не закрытия соединения с базой данных после ошибки?
- 13. asp.net безопасные файлы cookie
- 14. Каковы последствия полудуплексных последовательных соединений?
- 15. Безопасные сеансы в PHP
- 16. Каковы последствия создания HTTP-состояния?
- 17. Каковы последствия открытия подключений MySQL снова и снова в PHP
- 18. Каковы последствия производительности скрипта php, вызывающего «exit»?
- 19. Безопасные передачи файлов
- 20. Удаление файлов cookie через Javascript или PHP
- 21. Каковы последствия использования FLAG_ACTIVITY_SINGLE_TOP?
- 22. Каковы плохие последствия ThreadAbortException?
- 23. Каковы последствия аннотации @ServiceDependency
- 24. Каковы последствия производительности getElementsByTagName ("*")?
- 25. Каковы последствия ошибки UDP?
- 26. Каковы последствия неиспользуемых функций
- 27. Каковы последствия скальпинга?
- 28. Каковы последствия не добавления «@Override»?
- 29. Получение файлов cookie через Selenium и php
- 30. Каковы последствия использования токена Mixpanel?
PHP не очень заботится об этом параметре. Он просто отправляет соответствующий флаг вместе с заголовком «Set-Cookie:». Только браузеры распознают и действуют на него. – mario
@mario, если я понял, вы говорите, что даже сайты, которые не работают, https может установить «безопасный» параметр в true, правильно? –
Да, они могут. Они просто не получат сохраненный файл cookie через HTTP позже. – mario