Правильно ли хранить поля безопасности в файлах cookie?

#security #asp.net-core #cookies #asp.net-identity #session-cookies

#Безопасность #asp.net-core #файлы cookie #asp.net-identity #сессия-файлы cookie

Вопрос:

Я пытаюсь сохранить дополнительные поля в файлах cookie с ASP.Net Идентификация ядра.

одним из этих полей является Имя роли.

Безопасно ли хранить имя роли в файлах cookie?

Например, возможно ли, чтобы пользователь изменил имя роли с «normalUser» на «admin»?

Я использую ASP.Net Версия Core 3.1.

Комментарии:

1. Может ли пользователь изменять файлы cookie на своем компьютере? (Ответ, конечно, они могут, файл cookie хранится на их компьютере). Итак, зачем вам размещать что-то, что контролирует уровень доступа пользователей, в месте, которое контролирует пользователь?

Ответ №1:

НИКОГДА не храните конфиденциальные данные в файлах cookie. Как сказал Мейсон в комментарии, файлы cookie могут быть изменены, что означает, что их можно использовать. И, кроме того, ваши файлы cookie могут быть в виде открытого текста, что еще хуже.

Я бы рекомендовал надежно хранить такие данные в серверной части.

Сеансы определенно безопаснее, чем файлы cookie, поскольку они хранятся на стороне сервера, но они также могут подвергаться атакам (захват сеанса). Вам нужно правильно настроить их для повышения безопасности.

Комментарии:

1. tnx marvan., я согласен с вами по поводу файлов cookie. но теперь почему t sessions??? that store in server and user don нет доступа к этому.

2. Теперь сеансы действительно безопаснее, чем файлы cookie, поскольку клиент не может их изменять и хранятся на стороне сервера. Хотя они не защищены на 100%, поскольку злоумышленник может выполнить нечто, называемое «перехват сеанса» (подробнее об этом в owasp.org/www-community/attacks/Session_hijacking_attack ).