В приложениях asp объект Session часто используется для сохранения временных личных данных пользователя. Объект Session в asp использует файлы cookie браузера. Если пользователь отключит опцию Cookie по соображениям безопасности или случайно, asp не сможет правильно выполнить эту операцию. Идентифицируйте пользователя, что в конечном итоге приведет к невозможности нормального использования объекта Session.
Чтобы правильно выполнить последующие программы, мы должны сначала определить, принимает ли клиентская программа файлы cookie. Однако браузер не предоставляет способа определить, отключены ли файлы cookie, поэтому нам нужно найти способ проверить это самостоятельно.
Многие разработчики использовали свои собственные методы для проверки статуса файлов cookie браузера. Самый распространенный метод — отправить файл cookie на одну страницу, а затем проверить, существует ли файл cookie на другой странице. Таким образом, нам нужны два запроса asp.
Здесь я представляю метод, который объединяет серверные и клиентские сценарии для одновременной проверки состояния браузера.
Когда NetBox инициализирует программу asp в первый раз, он выделяет новый объект сеанса и отправляет клиенту файл cookie с именем Application.ApplicationID. Если браузер принимает файл cookie, он отправит его обратно при следующем посещении NetBox. сервер получает этот файл cookie, он выберет указанный объект сеанса в качестве объекта сеанса для этого запроса ASP, чтобы обеспечить уникальность и постоянство объекта сеанса для конкретного пользователя.
Отсюда мы знаем, что можем определить, может ли следующая программа продолжить работу, определив, принимает ли браузер файл cookie с именем Application.ApplicationID. Чтобы определить, содержит ли браузер файл cookie, вы можете использовать объект cookie браузера для его завершения. Следующий код предназначен для проверки того, принимает ли браузер сеанс NetBox:
<html>
<тело>
<Язык сценария="javascript">
if(document.cookie.search("<%=Application.ApplicationID%>=") == -1)document.write("Not ");
</Script>Разрешить.
</тело>
</html>
Целью этого кода является знание имени файла cookie, отправленного NetBox. Если вы хотите использовать этот код в iis, это сложнее, поскольку имя файла cookie, отправленного iis, меняется при каждом его запуске. Поэтому для тестирования вы можете отправить файл cookie самостоятельно, а затем протестировать еще раз:
<%Response. .Cookie("CookieCheck")="on"%>
<html>
<тело>
<Язык сценария="javascript">
if(document.cookie.search("CookieCheck=") == -1)document.write("Not ");
</Script>Разрешить.
</тело>
</html>