Для анализа XSS от HttpOnly с целью получения информации о файлах cookie, пожалуйста, обратитесь к статье Kenshin: Using httpOnly для повышения безопасности приложений.
Настройки в javaEE:
В API нет конкретного метода операции или атрибута функции, и я не знаю, будут ли они доступны в будущих версиях, ниже приведено обходное решение:
————————————————————————————–
response.setHeader("Set-Cookie", "cookiename=value; Путь=/; Domain=neeao.com; Максимальный возраст=секунды; HTTPOnly»);
————————————————————————————–
Настройки в ASP.NET Версии .net 2.0 и выше поддерживают конфигурацию глобального httponly в файле Web.config, который задаётся следующим образом: просто добавьте узел в web.config: ------------------------------------------------------------------ <httpCookies httpOnlyCookies="true" /> ------------------------------------------------------------------ В объекте cookie .net 2.0 или более поздней версии существует прямой параметр HttpOnly для вызова, а метод использования выглядит следующим образом: Код C#: ------------------------------------------------------------------ HttpCookie myCookie = новый HttpCookie("myCookie"); myCookie.HttpOnly = true; Response.AppendCookie (myCookie); ------------------------------------------------------------------- vb.net код ------------------------------------------------------------------- Dim myCookie As HttpCookie = новый HttpCookie("myCookie") myCookie.HttpOnly = True Response.AppendCookie (myCookie) ------------------------------------------------------------------- В asp.net 1.1 вы также можете настроить глобальные файлы cookie HttpOnly для добавления Application_EndRequest события узла приложения глобального файла Global.asax: ------------------------------------------------------------------- protected void Application_EndRequest(Object sender, EventArgs e)
{ string authCookie = FormsAuthentication.FormsCookieName; foreach (строка sCookie в Response.Cookies) { if (sCookie.Equals(authCookie)) { Ответ. Cookies[sCookie]. Путь += "; HttpOnly»; } } } ------------------------------------------------------------------- Если вы пишете это в коде, добавляйте так: -------------------------------------------- Ответ. Cookies[cookie]. Путь += "; HTTPOnly»; --------------------------------------------- настройки в PHP Версии PHP5.2 и выше уже поддерживают установку параметров HttpOnly, а также глобальную настройку HttpOnly в php.ini ----------------------------------------------------- session.cookie_httponly = ----------------------------------------------------- Установите его значение на 1 или TRUE, чтобы активировать атрибут HttpOnly глобального куки, и, конечно, вы также можете включить его в коде: ----------------------------------------------------- <?php ini_set("session.cookie_httponly", 1); или session_set_cookie_params(0, NULL, NULL, NULL, TRUE); ?> ----------------------------------------------------- Функция операций cookie setcookie и setrawcookie также добавляют 7-й параметр в качестве опции для HttpOnly, а метод открытия выглядит так: ------------------------------------------------------- setcookie («abc», «test», NULL, NULL, NULL, NULL, TRUE); setrawcookie («abc», «test», NULL, NULL, NULL, NULL, TRUE); ------------------------------------------------------- Для версий PHP до версий 5.1 и PHP4 необходимо использовать функцию заголовка для внесения изменений: ------------------------------------------------------------- <?php header("Set-Cookie: hidden=value; httpOnly»); ?> -------------------------------------------------------------
ASP В встроенных объектах asp нет соответствующих методов, поэтому их можно реализовать только как обходной путь: -----------------------------------------------------<% ‘************************************************** 'Поддержка браузера IE6.0 или выше вывода httponly 'WDFrog ‘2009-04-15 '<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> ‘**************************************************
'———-SetHttpOnlyCookie—————————————- 'Функция: Установка HttpOnly Cookies 'Параметры: expDate — это истечение гарантии, 0 означает не установлено, а установленное на определённое время в прошлом означает клиринг 'аргумент: область пуста (строка. Пусто) означает, что не установлен ‘——————————————————————- Function SetHttpOnlyCookie (cookieName,cookieValue,domain,path,expDate) Димный печенье cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; путь=" & путь Если expDate <> 0, то cookie=печенье & "; expires=" & DateToGMT(expDate) Конец если.
Если домен <> «», то cookie=печенье & "; домен=" & домен Конец если.
cookie=печенье & "; Только на http»
Call Response.AddHeader ("Set-Cookie", cookie) Конечная функция
'————-получи GMTTime———— 'Параметры: sDate — это время, которое нужно преобразовать в GMT ‘——————————— Функция DateToGMT(sDate) Dim dWeek, dMonth Dim strZero,strZone strZero="00" strZone="+0800" dWeek=Array("Sun","Mon","Tue","Wes","Чт","Пт","Сб") dMonth=Array("Янв","Фев","Мар","Апрель","Май", "Июнь","Июль","Авг","Сентябрь","Окт","Ноябрь","Декабрь") DateToGMT = dWeek(WeekDay(sDate)-1)&", "&Right(strZero&Day(sDate),2)&" "&dMonth(Month(sDate)-1)&" "&Year(sDate)&" "&Right(strZero&Hour(sDate),2)&":"&Right(strZero&Minute( sDate),2)&":"&Right(strZero&Second(sDate),2)&" "&strZone Конечная функция ' ссылка 'Call SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)
%>
---------------------------------------------------- Ссылки: 1.http://www.owasp.org/index.php/HTTPOnly 2.http://blogs.msdn.com/dansellers/archive/2006/03/13/550947.aspx 3.http://ilia.ws/archives/121-httpOnly-cookie-flag-support-in-PHP-5.2.html 4.http://www.asp101.com/tips/index.asp?id=160 5.http://www.cnblogs.com/wdfrog/archive/2009/04/15/1436493.html |