HTTPS может предотвратить атаку "человек посередине", а не XSS. К сожалению, файл cookie сеанса не защищен одним только этим, можно запросить страницу с HTTP, и тогда тот же файл cookie будет отправлен без защиты.
Чтобы гарантировать, что cookie сеанса отправляется только по HTTPS-соединениям, вы можете использовать функцию session_set_cookie_params () перед началом сеанса:
session_set_cookie_params(0, '/', '', true, true);
session_start();
Обратите внимание на первое true
, это означает, что cookie будет отправляться только на страницы HTTPS. Второй true
сообщает браузеру, что JavaScript не должен получать доступ к куки-файлу сеанса, это зависит от браузера, если это сделано правильно.
Еще один хороший способ сделать ваш сайт более безопасным - это использовать cookie-файл сеанса только для поддержания сеанса и использовать второй cookie-файл для проверки подлинности. Я могу привести пример, если вы заинтересованы.