Asp: руководство по применению файлов cookie, подробный код и учебные пособия.
Автор:Eve Cole
Время обновления:2009-06-24 17:28:30
Фактически, в веб-разработке файл cookie — это просто текстовый файл. Когда пользователь посещает сайт, он сохраняется на используемом им компьютере. Некоторая информация сохраняется в нем, когда пользователь снова посещает сайт. , Интернет может извлечь эту информацию.
Хотя файлы cookie сейчас могут показаться неинтересными, на самом деле с ними можно делать много полезных вещей! Например: вы можете разместить на своем сайте опрос, спрашивая посетителей о любимых цветах и шрифтах, а затем на их основе настроить веб-интерфейс пользователя. Более того, вы также можете сохранить пароль для входа посетителя, чтобы при повторном посещении сайта посетителю не приходилось вводить пароль для входа.
Конечно, у файлов cookie есть и некоторые недостатки. Прежде всего, поскольку функция файлов cookie может быть запрограммирована для достижения некоторых плохих намерений, большинство браузеров имеют настройки безопасности, в которых вы можете указать, разрешать или принимать файлы cookie, поэтому нет никакой гарантии, что файлы cookie могут быть использованы в любое время. Кроме того, посетители могут намеренно или непреднамеренно удалить
печенье. Когда на компьютере посетителя появляется «синий экран» сбоя, или после переформатирования жесткого диска или установки системы, все ранее сохраненные файлы cookie будут потеряны. Наконец, некоторые из самых ранних браузеров не поддерживают файлы cookie.
Что можно делать с файлами cookie?
Существует 2 основных способа использования файлов cookie:
1. Записать файлы cookie на компьютер посетителя (используйте команду ОТВЕТ)
2. Получить файлы cookie с компьютера посетителя (используйте команду ЗАПРОСИТЬ).
Основной синтаксис для создания файлов cookie
Response.Cookies("CookieName")=значение
Выполнение следующего кода создаст на компьютере посетителя файл cookie с именем = Имя посетителя и значением = Кен.
Response.Cookies("VisitorName")="Кен"
Выполнение следующего кода создаст файл cookie на компьютере посетителя с именем = VisitorName и значением = значению UserName в форме.
Response.Cookies("ИмяПосетителя")=Запрос.Форма("ИмяПользователя")
Основной синтаксис для чтения файлов cookie
Request.Cookies("CookieName")
Значение Request можно рассматривать как переменную. Выполнение следующего кода приведет к получению значения cookie с именем KensCookie и сохранению его в переменной MyVar:
MyVar=Request.Cookies("KensCookie")
Выполнение следующего кода определит, является ли значение файла cookie с именем KensCookie «Да»:
Если Request.Cookies("KensCookie")="Да", то
Многофункциональные файлы cookie
Вы можете расширить приведенный выше код, чтобы он стал значением подключа Cookie (CookieSubName). Код выглядит следующим образом:
Response.Cookies("VisitorName")("FirstName")="Кен"
Response.Cookies("VisitorName")("LastName")="Baumbach"
Прежде чем объяснять примеры, давайте обсудим две заключительные концепции: соглашение о командах и срок действия использования.
соглашение об именах
Как и при присвоении имен другим переменным, правильное и уникальное наименование файлов cookie поможет вам последовательно использовать их в вашей программе. Вы можете использовать 1 или 2 из следующих
Атрибут cookie называет переменную cookie:
Атрибут домена (домен). Атрибут домена указывает, с какого веб-сайта создается или считывается файл cookie. По умолчанию атрибут домена файла cookie установлен на веб-сайт, который его сгенерировал, но вы также можете изменить его при необходимости. Соответствующий код выглядит следующим образом: Response.Cookies("CookieName").Domain = " www.mydomain.com "
Атрибут пути (Путь): Атрибут пути может реализовать дополнительные требования безопасности. Установив точный путь на веб-сайте, вы можете ограничить объем использования файлов cookie. Например:
Response.Cookies("CookieName").Path = "/maindir/subdir/path"
Использовать срок годности
Обычно файл cookie перестает существовать после закрытия браузера. Но во многих случаях, как в примере с веб-сайтом, обсуждаемом ниже, мы хотим сохранять файлы cookie на компьютере посетителя в течение более длительного периода времени. К счастью, есть способ добиться этого. Следующий код может установить срок действия файла cookie на 2010 год.
1 января:
Response.Cookies("CookieName").Expires=#01 января 2010 г.#
Выполнение следующего кода установит срок действия файла cookie «время создания файла cookie + 365 дней»:
Response.Cookies("CookieName")=Дата+365
Практические примеры использования файлов cookie (очень интересно)
Теперь поговорим о практических примерах. Предположим: вы хотите провести опрос. Каждому необходимо заполнить информацию при первом посещении, но когда они приедут снова в будущем, им не нужно будет делать это снова. Используя файлы cookie, вы можете вполне удовлетворительно решить эту проблему без использования базы данных.
< %@ LANGUAGE="VBSCRIPT" % >
<%
Survey=Request.Cookies("KensSurvey")
Если Опрос="" тогда
Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#01 января 2010 г.#
Response.Redirect "survey.asp"
Еще
'остальная часть страницы
Конец, если
%>
Хорошо, давайте начнем с нуля и обсудим приведенный выше код.
Сначала сначала настройте страницу и прочтите значение файла cookie с именем KensSurvey:
< %@ LANGUAGE="VBSCRIPT" % >
<%
Survey=Request.Cookies("KensSurvey")
Затем определите, существует ли значение файла cookie:
Если Опрос="" тогда
Если он не существует, файл cookie создается и устанавливается, а страница перенаправляется на Survey.asp. При следующем посещении, поскольку значение файла cookie существует, вы не перейдете на
Страница Survey.asp.
Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#01 января 2010 г.#
Response.Redirect "survey.asp"
Если файл cookie уже существует, посетитель выполнит оставшийся код на странице:
'остальная часть страницы
Конец, если
%>
Пример 2
Вот еще один простой пример: покажите приветственное сообщение посетителям, когда они впервые посещают сайт. Код выглядит следующим образом:
< %@ LANGUAGE="VBSCRIPT" % >
<%
ИмяЗапроса = Запрос.Форма("Имя")
RequestLeaveMeAlone = Request.Form("LeaveMeAlone")
Если RequestName < >"" или RequestLeaveMeAlone < >"" тогда
Response.Cookies("MySiteVisitorName") = RequestName
Response.Cookies("MySiteVisitorName").Expires = #01 января 2010 г.#
Response.Cookies("MySiteLeaveMeAlone") = RequestLeaveMeAlone
Response.Cookies("MySiteLeaveMeAlone").Expires = #01 января 2010 г.#
Конец, если
ИмяПосетителя = request.cookies("MySiteVisitorName")
LeaveMeAlone = request.cookies("MySiteLeaveMeAlone")
Если VisitorName ="" и LeaveMeAlone ="" тогда
%>
< HTML > < HEAD > </HEAD >
< body bgcolor="#ccffff" text="black" link="navy" vlink="purple" >
< DIV ALIGN="ЦЕНТР" >
< форма action="index.asp" метод="POST" >
< H2 >Давай дружить</H2 >
Как вас зовут (оставьте поле пустым и нажмите кнопку «Отправить», если вы не хотите, чтобы мы это делали)
знать)?
< input type="text" name="name" >< BR >< BR >
< input type="hidden" name="LeaveMeAlone" value="x" >
< input type="submit" value="Submit" >
</ /ФОРМА >
</ДЕЛ>
</ТЕЛО>
<%
Конец, если
Если ИмяПосетителя < > "" тогда
Response.write "Привет, " & Имя посетителя & "! Надеюсь, у вас отличный день!"
Конец, если
'остальная часть страницы
%>
Хорошо, теперь давайте посмотрим, что делает приведенная выше реализация кода. Сначала настройте страницу. Затем проверьте переменную формы (на той же странице). Если переменная формы существует, создайте файл cookie и установите срок его действия.
< %@ LANGUAGE="VBSCRIPT" % >
<%
ИмяЗапроса = Запрос.Форма("Имя")
RequestLeaveMeAlone = Request.Form("LeaveMeAlone")
Если RequestName < >"" или RequestLeaveMeAlone < >"" тогда
Response.Cookies("MySiteVisitorName") = RequestName
Response.Cookies("MySiteVisitorName").Expires = #01 января 2010 г.#
Response.Cookies("MySiteLeaveMeAlone") = RequestLeaveMeAlone
Response.Cookies("MySiteLeaveMeAlone").Expires = #01 января 2010 г.#
Конец, если
Далее читаем файл cookie:
ИмяПосетителя = request.cookies("MySiteVisitorName")
LeaveMeAlone = request.cookies("MySiteLeaveMeAlone")
Если файл cookie не существует на компьютере посетителя, создайте форму, запрашивающую соответствующую информацию:
Если VisitorName ="" и LeaveMeAlone ="" тогда
%>
<HTML>
<ГОЛОВКА>
</ГОЛОВКА>
< body bgcolor="#ccffff" text="black" link="navy" vlink="purple" >
< DIV ALIGN="ЦЕНТР" >
< форма action="index.asp" метод="POST" >
< H2 >Давай дружить</H2 >
Как вас зовут (оставьте поле пустым и нажмите кнопку «Отправить», если вы не хотите, чтобы мы это делали)
знать)?
< input type="text" name="name" >< br >< br >
< input type="hidden" name="LeaveMeAlone" value="x" >
< input type="submit" value="Submit" >
</ /ФОРМА >
</ДЕЛ>
</ТЕЛО>
<%
Конец, если
Если файл cookie уже существует и имя пользователя существует, отобразите посетителю экран приветствия и выполните остальную часть кода.
Если ИмяПосетителя < > "" тогда
Response.write "Привет, " & Имя посетителя & "! Надеюсь, у вас отличный день!"
Конец, если
'остальная часть страницы
%>
Хотя приведенный выше пример прост, на его основе можно расширить множество творческих приложений. Вы можете добавить в свои формы множество функций, чтобы настроить свой веб-сайт.
Вы также можете позволить посетителям настраивать цвета, шрифты и другие веб-элементы вашего сайта. Если возможно, вы можете спросить у посетителя день рождения, и когда посетитель придет в этот день, вы можете отобразить ему сообщение «С Днем Рождения».
Как видите, масштабируемость файлов cookie безгранична, и эта статья — лишь отправная точка.