Выход из вашего веб-приложения очистит ваши куки, да.
Однако, перетаскивая предыдущий запрос в Fiddler и отбрасывая его в построителе запросов, скопирует файл cookie аутентификации .
Это означает, что когда вы выполняете запрос в Fiddler, вы отправляете файл cookie аутентификации, который повторно проверяется, и поэтому действия в CreateUser.aspx действительно будут выполняться, а новые данные пользователя будут сохраняться в база данных.
Если в разделе «Заголовки запроса» Fiddler вы удалите часть файла cookie, начиная с .ASPXAUTH = до следующего включительно; и, вероятно, также значение ASP.NET_SessionId, вы увидите, что оно работает так, как вы ожидаете.
Если вы хотите убедиться, что такого рода поведение невозможно, вы, вероятно, также захотите сохранить какой-нибудь флаг «Logged In This Session», который вы также очистите при выходе из системы и проверите для этого значение в выделенном фрагменте кода CreateUser (или некоторого базового класса, если вам нужно такое поведение на нескольких страницах) перед выполнением вставки.
Изменить, чтобы ответить на комментарии:
Тогда вам помогут несколько вещей:
Поместите эту область сайта в SSL - поэтому для кого-то будет намного сложнее перехватить трафик - но не невозможно, ведь фидлер может выполнить атаку "человек посередине" и обеспечить клиент с самостоятельно сгенерированным сертификатом, который позволяет ему расшифровывать информацию.
Как я уже говорил выше, вы, вероятно, захотите проверить, что и пользователь аутентифицирован (из файла cookie), и установлено какое-то значение сеанса - когда вы очищаете сеанс, это больше не будет существует при повторной проверке пользователя с помощью файла cookie.
ASP.NET должен повторно проверить cookie, поскольку именно так аутентификация может охватывать тайм-ауты сеансов и перезапуски приложения - при удалении всех данных сеанса приложение не может узнать, является ли запрос из fiddler сеанс, который просто уничтожен, или тайм-аут или был создан до последнего перезапуска.
Дальнейший ответ на комментарии:
Как справедливо указывает Blowdart , файлы cookie сеанса и аутентификации не связаны, и сервер не хранит список всех файлов cookie аутентификации, которые он где-либо выдал. Таким образом, нет никакой разницы для сервера между файлом cookie, который он выдал в течение времени ожидания проверки подлинности форм, и файлом cookie, который был выпущен в течение времени ожидания, которое было с тех пор удалено - если пользователь воссоздает это значение файла cookie, то это действительный файл cookie. Эта статья поддержки содержит дополнительную информацию о комбинации файлов cookie и билетов:
Общие сведения о билете и cookie для проверки подлинности с помощью форм
Cookie проверки подлинности с помощью форм - это не что иное, как контейнер для проверки подлинности с помощью форм. Билет передается как значение файла cookie проверки подлинности форм с каждым запросом и используется для проверки подлинности форм на сервере для идентификации пользователя, прошедшего проверку подлинности.
Как я уже говорил ранее, если билет проверки подлинности в файле cookie не был принят сервером без какой-либо другой информации о пользователе, то постоянные файлы cookie не будут работать, и независимо от того, как часто пользователь выбирает «Запомнить» я в следующий раз ", сервер их не запомнит, поэтому я рекомендую вам не полагаться только на состояние аутентификации, но и на какое-то значение в сеансе (которое не будет существовать для запроса Fiddler после выхода из системы, поскольку сервер уничтожит эту информацию).