Используйте безопасные COOKIE.
Во время разработки, мы часто используем COOKIE для хранения важной информации, такой как токены авторизации, разные ключи и т. д. Но даже в самых защищенных системах, из-за человеческого фактора, можно допустить возможность выполнения XSS-атак, что может привести к утечке важных данных.
Классическая атака, когда через XSS похищается токен авторизации и потом злоумышленник может войти в систему. Для этих целей, в современных браузерах существует защита: атрибут httponly — который указывает, что cookie с таким атрибутом нельзя передавать скриптовому языку, например Javascript.
Подробно о XSS и похищении данных можно почитать:
https://developer.mozilla.org/ru/docs/Web/HTTP/Куки#Безопасность
Как использовать:
во время установки COOKIE указывать атрибут httpOnly.
PHP
setcookie($name, $value, $expire, $path, $domain, $secure, $httponly); setrawcookie($name, $value, $expire, $path, $domain, $secure, $httponly);
устанавливать 7 атрибут в true
setcookie('Foo','Bar',0,'/', 'www.sample.com' , false, true);
или в заголовке
header("Set-Cookie: name=value; httpOnly");
Так же, можно принудительно ставить все COOKIE с httpOnly через глобальные настройки, но тогда вы не сможете сами работать с COOKIE через Javascript.
<?php ini_set('session.cookie_httponly', 1);
В заключение хочется напомнить, что данная мера не является 100% гарантией защиты от кражи данных, по-этому лучше проверять все данные вводимые пользователями и относиться к любым внешним данным с подозрением, валидируя и проверяя их.
PS: COOKIE тоже являются внешними данными и их тоже необходимо проверять и валидировать!
Станьте первым!