В настоящее время вы используете лучшую защиту куки в asp.net. Параметр httpOnlyCookies
запрещает любому (возможно, внедренному) JavaScript на вашем сайте доступ к токену, а параметр requireSSL
запрещает браузеру отправлять их через соединение, отличное от https
.
Это обычно довольно хорошо, так же хорошо или лучше, чем большинство сайтов.
Любой, кто может подключиться через Man-In-the-Middle, или кто-то другой может получить доступ к значению cookie на вашем компьютере, может получить доступ к вашему сайту, но стандартной эффективной защиты от этого нет.
Предположительно, чтобы скопировать cookie-файл, вы обратились к инструментам разработчика и напрямую скопировали значение. Большинство злоумышленников не могут сделать это, не взломав компьютер конечного пользователя, например, с помощью расширения вредоносного браузера. Ваш флаг httpOnly
не позволяет им делать это с помощью скрипта.
Аналогичным образом вы могли установить прокси-сервер, например Fiddler, для проверки трафика, или у компании может быть http-прокси, который фильтрует содержимое, но на вашем компьютере будет установлен доверенный сертификат, позволяющий проводить эту проверку. Без него браузер не позволил бы загрузить страницу.
Есть несколько вещей, которые вы можете сделать, чтобы улучшить его, вы можете посмотреть на HSTS , однако, это может иметь серьезные последствия, если вы ошибетесь. TLS 1.3 также содержит дополнительные средства защиты, но он совершенно новый, поэтому его поддержка очень разнообразна.
Любой обычный запрос ajax, направляемый на ваш домен, все равно будет отправлять cookie, но javascript не может получить доступ к содержимому cookie. Аналогично, платформы, в которых используется Fetch API , также можно настроить для отправки учетных данных. Любой сторонний плагин, которому нужно отправить ваш файл cookie для аутентификации в другой домен, делает что-то не так.