Voor de analyse van XSS door HttpOnly om cookie-informatie te verkrijgen, zie Kenshin's tekst: Gebruik httpOnly om applicatiebeveiliging te verbeteren.
Instellingen in javaEE:
Er is geen specifieke operatiemethode of functieattribuut in de API, en ik weet niet of het in toekomstige versies zal worden aangeboden, het volgende is een workaround:
————————————————————————————–
response.setHeader("Set-Cookie", "cookiename=value; Pad=/; Domain=neeao.com; Max-Leeftijd=seconden; HTTPOnly");
————————————————————————————–
Instellingen in ASP.NET .net 2.0 en hogere versies ondersteunen het configureren van de globale httponly in het Web.config-bestand, dat als volgt is ingesteld: voeg gewoon een node toe aan de web.config: ------------------------------------------------------------------ <httpCookies httpOnlyCookies="true" /> ------------------------------------------------------------------ In het .net 2.0 of later cookie-object is er een directe HttpOnly-parameter voor het aanroepen, en de gebruiksmethode is als volgt: C#-code: ------------------------------------------------------------------ HttpCookie myCookie = nieuwe HttpCookie ("myCookie"); myCookie.HttpOnly = true; Response.AppendCookie(myCookie); ------------------------------------------------------------------- vb.net code ------------------------------------------------------------------- Dim myCookie As HttpCookie = nieuwe HttpCookie ("myCookie") myCookie.HttpOnly = True Response.AppendCookie(myCookie) ------------------------------------------------------------------- In asp.net 1.1 kun je ook de globale cookies HttpOnly instellen om het Application_EndRequest event van de applicatienode van het globale bestand Global.aSax toe te voegen: ------------------------------------------------------------------- beschermde void Application_EndRequest(Objectzender, EventArgs e)
{ string authCookie = FormsAuthentication.FormsCookieName; foreach (string sCookie in Response.Cookies) { if (sCookie.Equals(authCookie)) { Response.Cookies[sCookie]. Pad += "; HttpOnly"; } } } ------------------------------------------------------------------- Als je het in de code schrijft, moet je het als volgt toevoegen: -------------------------------------------- Response.Cookies[cookie]. Pad += "; HTTPOnly"; --------------------------------------------- instellingen in PHP Versies van PHP5.2 en hoger ondersteunen al het instellen van HttpOnly-parameters, en ondersteunen ook het instellen van globale HttpOnly in php.ini ----------------------------------------------------- session.cookie_httponly = ----------------------------------------------------- Stel de waarde in op 1 of TRUE om het HttpOnly-attribuut van de globale cookie in te schakelen, en natuurlijk kun je het ook in de code inschakelen: ----------------------------------------------------- <?php ini_set ("session.cookie_httponly", 1); of session_set_cookie_params(0, NULL, NULL, NULL, TRUE); ?> ----------------------------------------------------- De cookie-operatiefunctie setcookie-functie en de setrawcookie-functie voegen ook de 7e parameter toe als optie voor HttpOnly, en de openingsmethode is: ------------------------------------------------------- setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); setrawcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE); ------------------------------------------------------- Voor PHP-versies vóór 5.1 en PHP4 moet je de headerfunctie gebruiken om wijzigingen aan te brengen: ------------------------------------------------------------- <?php header("Set-Cookie: hidden=value; httpOnly"); ?> -------------------------------------------------------------
ASP Er zijn geen relevante methoden beschikbaar in de ingebouwde objecten van asp, dus je kunt het alleen als een workaround implementeren: -----------------------------------------------------<% ‘************************************************** 'ASP voert httponly cookie IE6.0 of hoger browserondersteuning uit 'WDFrog ‘2009-04-15 '<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> ‘**************************************************
'———-SetHttpOnlyCookie—————————————- 'Functie: HttpOnly Cookies instellen 'Parameters: expDate is het verlopen van de garantie, 0 betekent niet ingesteld, en op een bepaalde tijd in het verleden zetten betekent clearing 'argument: domein is leeg (string. Leeg) betekent niet vastgesteld ‘——————————————————————- Functie SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate) Dim cookie cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; pad=" & pad Als expDate <> 0 dan cookie=cookie & "; expires=" & DateToGMT(expDate) Einde Als
Als domein <> "" dan cookie=cookie & "; domein=" & domein Einde Als
cookie=cookie & "; HttpOnly"
Call Response.AddHeader ("Set-cookie", cookie) Eindfunctie
'————-getGMTTime———— 'Parameters: sDate is de tijd die omgezet moet worden naar GMT ‘——————————— Functie DateToGMT(sDate) Dim dWeek, dMaand Dim strZero, strZone strZero="00" strZone="+0800" dWeek=Array("Zon","Ma","Dinsdag","Wes","Do","Vrij","Saterdag") dMonth=Array("Jan","Feb","Maart","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec") 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 Eindfunctie ' referentie 'Roep SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)
%>
---------------------------------------------------- Referenties: 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 |