Cookie.HTTP только в классическом ASP

Как установить все переменные cookie на странице для HTTPOnly в ASP?

Ответы на вопрос(4)

использование коллекции Response.Cookies не будет работать при настройке HttpOnly (меня это медленно сводит с ума!). Поскольку vbscript (по крайней мере на сервере, на котором я тестирую) будет кодировать точку с запятой.

Вместо этого добавьте заголовок вручную, например:

Response.AddHeader "Set-Cookie", "YourCookieName=YourCookieValue; path=/; HttpOnly" 

Существует похожий пост в stackoverflow, который называется: Как именно вы настраиваете httpOnly Cookies в ASP Classic?

 mike nelson22 окт. 2012 г., 03:54
ДА! Это работает. Жаль, что это не принятый ответ, потому что я следовал за этим и потратил впустую много времени!

http: //msdn.microsoft.com/en-us/library/ms97282). Это решило мою проблему.

ISAPI DLL здесьhttps: //www.dropbox.com/s/e5mq749acms0rhx/HTTPOnly.dll дл = 0

Не стесняйтесь скачать.

 Thiru G12 апр. 2014 г., 00:23
Линк мертв. Есть ли другой альтернативный способ скачать файл DLL?

но мне пришлось самому разобраться с устаревшим приложением.

Классические ASP'sResponse.Cookies collection просто не поможет при добавленииHttpOnly тег. Вам нужно использовать

Response.AddHeader("Set-Cookie", useful_value) 

чтобы заставить это работать. Если вы попытаетесь установить атрибут Path элемента вResponse.Cookies коллекция как эта

Response.Cookies["stupid"].Path = "/; HttpOnly"

полезно URLE кодирует точку с запятой, таким образом портя путь.

Итак, я выполнил для этого несколько классических функций asp, предложенных здесь в знак солидарности со всеми, кто живет с классическим as

' given a Date item, return the text string suitable for a cookie's expires= field.
' For example: Tue, 02-Aug-2016 18:57:00 GMT
function RFC6265Date (inputDate)
  ' (we are on EST, Z-5, so offset the time. Classic ASP, no timezone support)
  dim date: date = DateAdd("h",5,inputDate)
  dim v : v = WeekdayName(Weekday(date),true) & ", "
  v = v & Right("00" & Day(date), 2) & "-" 
  v = v & MonthName(Month(date),true) & "-" & Year(date) & " "
  v = v & FormatDateTime(date,4) & ":00 GMT"

  RFC6265Date = v

end function

' make cookie header value including various security items
function RFC6265CookieValue(name, val, inputDate, domain)
'name=tok=val&tok=val&tok=val; domain=.glance.net; expires=Tue, 02-Aug-2016 18:57:00 GMT; path=/; HttpOnly; secure

    dim cv : cv = name & "="
    cv = cv & val & "; "
    if inputDate <> "" then
      cv = cv & "expires=" & RFC6265Date(inputDate) & "; "
    end if
    if domain <> "" then
      cv = cv & "domain=" & domain & "; "
    end if
    cv = cv & "path=/; HttpOnly; Secure"

    RFC6265CookieValue = cv

end function

Чтобы использовать это, назовите это т

Response.AddHeader "Set-Cookie", _
                   RFC6265CookieValue( _
                     "cookiename",  _
                     "size=big&flavor=chocolate+chip" _
                     DateAdd("yyyy", 1, Now()), domain), _
                     "example.com"

(Классический ASP похож на дискотеку. Поколение спустя, этоВсе ещ отстой.)

Response.AddHeader "Set-Cookie", ""&CStr(Request.ServerVariables("HTTP_COOKIE"))&";path=/;HttpOnly"&""

Ваш ответ на вопрос