Вопрос

Какой элегантный способ в Классическом ASP проверить, включены ли сеансовые куки-файлы в браузере пользователя с использованием кода на стороне сервера (поскольку JavaScript также может быть отключен).

У меня есть собственное решение, но оно выглядит ужасно чертовски.

@James - здесь не проводится различие между установкой файла cookie сеанса и файла cookie общего назначения (IE позволяет вам различать файлы First Party, Cookies Session и Сторонние, но я вижу, что в Firefox они различают только между First Party и Third). Вечеринка)? Я устанавливаю значение сеанса на странице входа в систему, затем выполняю своего рода Response.Redirect и проверяю, является ли значение сеанса все еще действительным.

Это было полезно?

Решение

Если вы не укажете срок действия файла cookie, он будет файлом cookie сеанса. Термин сеанс немного перегружен в HTTP. Когда диалоговое окно IE ссылается на cookie-файл сеанса, это означает любой cookie-файл, который хранится только в памяти процесса и не сохраняется на диске, поэтому действует только в течение процесса (сеанса). Запустите другой процесс IExplore.exe, и у вас будет другой сеанс, который не будет иметь значений ни одного предыдущего или существующего файла cookie сеанса.

Вы правы, хотя и можете проверить, не блокируются ли даже куки-файлы сеансового уровня, просто сохранив значение в объекте сеанса и проверив его наличие на перенаправлении.

Другие советы

Ну, "ужасно, черт возьми" Метод, который мы использовали, заключался в том, чтобы установить cookie и перенаправить на новую страницу. В коде для новой страницы посмотрите, был ли установлен cookie. Поскольку единственный способ попасть на вторую страницу - это перенаправить туда, когда установлен cookie, его наличие или отсутствие должны сообщать о состоянии браузера.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top