Pre analýzu XSS od HttpOnly na získanie informácií o cookies si pozrite Kenshinov text: Using httpOnly to improve application security.
Nastavenia v javaEE:
V API nie je poskytnutá žiadna konkrétna operačná metóda alebo atribút funkcie a neviem, či bude poskytnutý v budúcich verziách, nasleduje obchádzka:
————————————————————————————–
response.setHeader("Set-Cookie", "cookiename=value; Path=/; Domain=neeao.com; Max-Vek=sekundy; HTTPOnly");
————————————————————————————–
Prostredia v ASP.NET .NET 2.0 a vyššie verzie podporujú konfiguráciu globálneho httponly v súbore Web.config, ktorý je nastavený nasledovne, stačí pridať uzol do web.config: ------------------------------------------------------------------ <httpCookies httpOnlyCookies="true" /> ------------------------------------------------------------------ V cookie objekte .net 2.0 alebo novšom je priamy parameter HttpOnly pre volanie a spôsob použitia je nasledovný: C# kód: ------------------------------------------------------------------ HttpCookie myCookie = nový HttpCookie ("myCookie"); myCookie.HttpOnly = pravda; Response.AppendCookie(myCookie); ------------------------------------------------------------------- vb.net kód ------------------------------------------------------------------- Dim myCookie ako HttpCookie = nový HttpCookie ("myCookie") myCookie.HttpOnly = Pravda Response.AppendCookie(myCookie) ------------------------------------------------------------------- V asp.net 1.1 môžete tiež nastaviť globálne cookies HttpOnly tak, aby pridávali Application_EndRequest udalosť aplikačného uzla globálneho súboru Global.asax: ------------------------------------------------------------------- chránený void Application_EndRequest(Object sender, EventArgs e)
{ string authCookie = FormsAuthentication.FormsCookieName; foreach (reťazec sCookie v Response.Cookies) { if (sCookie.Equals(authCookie)) { Response.Cookies[sCookie]. Cesta += "; HttpOnly"; } } } ------------------------------------------------------------------- Ak to napíšete do kódu, musíte to pridať takto: -------------------------------------------- Response.Cookies[cookie]. Cesta += "; HTTPOlly"; --------------------------------------------- nastavenia v PHP Verzie PHP5.2 a vyššie už podporujú nastavenie parametrov HttpOnly a tiež globálne nastavenie HttpOnly v php.ini ----------------------------------------------------- session.cookie_httponly = ----------------------------------------------------- Nastavte jeho hodnotu na 1 alebo TRUE, aby ste povolili atribút HttpOnly globálneho cookie, a samozrejme ho môžete povoliť aj v kóde: ----------------------------------------------------- <?php ini_set("session.cookie_httponly", 1); alebo session_set_cookie_params(0, NULL, NULL, NULL, TRUE); ?> ----------------------------------------------------- Funkcia operácie cookies setcookie a funkcia setrawcookie tiež pridávajú 7. parameter ako možnosť pre HttpOnly a metóda otvorenia je: ------------------------------------------------------- setcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE); setrawcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE); ------------------------------------------------------- Pre PHP verzie pred verziami 5.1 a PHP4 je potrebné použiť hlavičku na vykonanie zmien: ------------------------------------------------------------- <?php hlavička ("Set-Cookie: hidden=value; httpOnly"); ?> -------------------------------------------------------------
ASP V zabudovaných objektoch ASP nie sú uvedené žiadne relevantné metódy, takže ich môžete implementovať len ako obchádzku: -----------------------------------------------------<% ‘************************************************** 'ASP výstup httponly cookie IE6.0 alebo novšej podpora prehliadača 'WDFrog ‘2009-04-15 '<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> ‘**************************************************
'———-SetHttpOnlyCookie—————————————- 'Funkcia: Nastaviť cookies len pre http 'Parametre: expDate je expirácia záruky, 0 znamená nenastavené, a nastavenie na určitý čas v minulosti znamená vyčistenie 'argument: doména je prázdna (reťazec. Prázdny) znamená nie je nastavený ‘——————————————————————- Function SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate) Dim cookie cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; path=" & path Ak expDate <> 0, potom cookie=sušienka & "; expires=" & DateToGMT(expDate) Koniec ak
Ak doména <> "" Potom cookie=sušienka & "; doména=" & doména Koniec ak
cookie=sušienka & "; Iba HttpOnly"
Volať Response.AddHeader ("Set-Cookie", cookie) Konečná funkcia
'————-získaj GMTTime———— 'Parametre: sDate je čas, ktorý treba previesť na GMT ‘——————————— Funkčný dátumToGMT(sDate) Dim dWeek,dMonth Dim strZero, strZone strZero="00" strZone="+0800" dWeek=Array("Nedeľa", "Pondelek", "Utorok", "Wes", "Štvrtok", "Pia", "sobota") dMonth=Array("Jan","Feb","Marec',"Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","December") 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 Konečná funkcia ' odkaz 'Call SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)
%>
---------------------------------------------------- Referencie: 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 |