#cookies #vbscript #asp-classic
#файлы cookie #vbscript #asp-классический
Вопрос:
Я работаю над фрагментом старого кода, который я унаследовал. В верхней части файла index.asp находится скрипт VB, который используется для установки файла COOKIE во время входа в систему. Глядя на код, кажется, что срок действия файла cookie истекает в Date() (который, как я предполагал, был в тот же день). Однако, когда я смотрю на файл cookie, который я создал сегодня, срок его действия истекает 7.10.2041. Моя цель — истечь через 7 дней. Заранее спасибо.
<%@ LANGUAGE=VBScript %>
<% Option Explicit %>
<%
Response.Buffer=true
On Error Resume Next
%>
<%
Dim cookieECP
Dim fldIAccept
cookieECP=Request.Cookies("ACIntra")
fldIAccept=Request.Form("fldIAccept")
if cookieECP="ON" then
Server.Transfer("/default.asp")
elseif fldIAccept="Y" then
Response.Cookies("ACIntra")="ON"
Response.Cookies("ACIntra").Expires = Date()
Server.Transfer("/default.asp")
end if
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Ответ №1:
Вы также можете использовать dateAdd для большего контроля.
Response.Cookies("ACIntra").Expires = DateAdd("d",7,date())
Принимает три параметра — тип добавляемого интервала («d» = дни), количество этих интервалов (отрицательные вычитания вместо добавления) и базовый объект даты / времени, к которому вы добавляете.
Вы можете использовать date()
или now()
любой из них; date
получает текущую дату сервера, now
также получает текущую дату сервера и временную метку.
Ответ №2:
Date() — это текущая дата в ASP. Возможно, ваш файл cookie обновляется где-то еще на сайте? Чтобы истечь через 7 дней, инструкция будет:
Response.Cookies("ACIntra").Expires = Now() 7
Я бы посоветовал вам очистить все файлы cookie в вашем браузере и настроить ваш браузер так, чтобы он запрашивал вас, когда устанавливается новый файл cookie. В IE есть эта опция, и она позволяет вам посмотреть, какой файл cookie / значение сервер хочет установить в вашем браузере.
Это позволяет выполнять отладку.
Другой вариант — на вашем сервере установлена неправильная дата, но это немного более надуманно.
HTH Erik