Да и да, и есть даже инструменты, специально разработанные для того, чтобы сделать это простым .Правильно настроить безопасность сложно, и, к сожалению, разработчики веб-приложений часто упускают это из виду.
Единственное, что вы действительно можете безопасно хранить в cookie - это логин токен .По сути, каждый раз, когда ваш пользователь входит в систему, генерируйте что-то вроде GUID .Сохраните GUID в столбце в записи пользователя (например, LoginToken
или что-то еще), а затем установите для его файла cookie тот же GUID.Когда они выйдут из системы, очистите запись LoginToken
.Затем, когда приходит запрос, вы можете просто запросить в вашей базе данных пользователя, у которого LoginToken
равно значению в cookie.Можно с уверенностью предположить, что, удерживая токен, запросчик фактически является пользователем, представленным токеном.
Если злонамеренный пользователь редактирует свой файл cookie, он не получит ничего, кроме выхода из системы, поскольку вытрактуйте не найденный токен так же, как и токен вообще не существует.
На сервере, когда вы проверяете токен, вы затем определяете, есть ли у этого пользователя права администратора (обычно, посмотрев наих запись).
Что касается возможности изменить сценарий, это просто факт жизни.Ваш код сервера должен предполагать, что каждый запрос является вредоносным .Прежде чем делать что-нибудь , проверьте их токен и убедитесь, что им разрешено делать то, что они запрашивают.