Для аналізу XSS від HttpOnly для отримання інформації про файли cookie, будь ласка, зверніться до статті Kenshin: Використання httpOnly для покращення безпеки додатків.
Налаштування в javaEE:
У API немає конкретного методу операції чи атрибута функції, і я не знаю, чи буде це надано в майбутніх версіях, ось що наведено обхідний шлях:
————————————————————————————–
response.setHeader("Set-Cookie", "cookiename=value; Шлях=/; Domain=neeao.com; Max-Age=секунди; 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; Відповідь.AppendCookie(myCookie); ------------------------------------------------------------------- vb.net код ------------------------------------------------------------------- Dim myCookie як HttpCookie = новий HttpCookie("myCookie") myCookie.HttpOnly = True Відповідь.AppendCookie(myCookie) ------------------------------------------------------------------- У asp.net 1.1 ви також можете налаштувати глобальні файли cookie HttpOnly для додавання Application_EndRequest події вузла додатку глобального файлу Global.asax: ------------------------------------------------------------------- захищений порожній 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 також додають сьомий параметр як опцію для HttpOnly, а метод відкриття виглядає: ------------------------------------------------------- setcookie ("abc", "тест", NULL, NULL, NULL, NULL, TRUE); setrawcookie ("abc", "тест", NULL, NULL, NULL, NULL, TRUE); ------------------------------------------------------- Для версій PHP до версій 5.1 та PHP4 потрібно використовувати функцію заголовка для внесення змін: ------------------------------------------------------------- <?php header("Set-Cookie: hidden=value; httpOnly"); ?> -------------------------------------------------------------
ASP У вбудованих об'єктах asp немає відповідних методів, тому їх можна реалізувати лише як обхідний шлях: -----------------------------------------------------<% ‘************************************************** 'Підтримка браузера IE6.0 або вище для ASP-виводу httponly cookie '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=печиво & "; HttpOnly"
Call Response.AddHeader ("Set-Cookie", cookie) Кінцева функція
'————-отримай GMTTime———— 'Параметри: sDate — це час, який потрібно конвертувати у GMT ‘——————————— Функція DateToGMT(sDate) Тьмяний тиждень, місяць Dim strZero,strZone strZero="00" strZone="+0800" dWeek=Array("Неділя","Пн","Вівток","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 |