Pro analýzu XSS od HttpOnly pro získání informací o cookies se prosím podívejte na Kenshinův text: Using httpOnly to improve application security.
Nastavení v javaEE:
API nemá žádnou specifickou metodu operace ani atribut funkce a nevím, zda bude v budoucích verzích k dispozici, následující je řešení:
————————————————————————————–
response.setHeader("Set-Cookie", "cookiename=value; Path=/; Domain=neeao.com; Max-Věk=sekundy; HTTPOnly");
————————————————————————————–
Prostředí v ASP.NET Verze .NET 2.0 a vyšší podporují konfiguraci globálního httponly v souboru Web.config, který je nastaven následovně, stačí přidat uzel do web.config: ------------------------------------------------------------------ <httpCookies httpOnlyCookies="true" /> ------------------------------------------------------------------ V objektu .net 2.0 nebo novějším je přímý parametr HttpOnly pro volání a způsob použití je následující: C# kód: ------------------------------------------------------------------ HttpCookie myCookie = nový HttpCookie ("myCookie"); myCookie.HttpOnly = pravda; Response.AppendCookie(myCookie); ------------------------------------------------------------------- vb.net kód ------------------------------------------------------------------- Dim myCookie jako HttpCookie = nový HttpCookie ("myCookie") myCookie.HttpOnly = Pravda Response.AppendCookie(myCookie) ------------------------------------------------------------------- V asp.net 1.1 můžete také nastavit globální cookies HttpOnly tak, aby přidávaly Application_EndRequest událost aplikačního uzlu globálního souboru Global.asax: ------------------------------------------------------------------- chráněný void Application_EndRequest(Object sender, EventArgs e)
{ string authCookie = FormsAuthentication.FormsCookieName; foreach (string sCookie v Response.Cookies) { if (sCookie.Equals(authCookie)) { Response.Cookies[sCookie]. Cesta += "; HttpOnly"; } } } ------------------------------------------------------------------- Pokud to napíšete do kódu, musíte to přidat takto: -------------------------------------------- Response.Cookies[cookie]. Cesta += "; HTTPOunly"; --------------------------------------------- nastavení v PHP Verze PHP5.2 a vyšší již podporují nastavení parametrů HttpOnly a také globální nastavení HttpOnly v php.ini ----------------------------------------------------- session.cookie_httponly = ----------------------------------------------------- Nastavte jeho hodnotu na 1 nebo TRUE, abyste povolili atribut HttpOnly globálního cookie, a samozřejmě ho můžete také povolit v kódu: ----------------------------------------------------- <?php ini_set("session.cookie_httponly", 1); nebo session_set_cookie_params(0, NULL, NULL, NULL, TRUE); ?> ----------------------------------------------------- Funkce operace cookies setcookie a funkce setrawcookie také přidávají 7. parametr jako možnost pro HttpOnly, a metoda otevírání je: ------------------------------------------------------- setcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE); setrawcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE); ------------------------------------------------------- U verzí PHP před verzí 5.1 a PHP4 je potřeba použít hlavičku pro úpravy: ------------------------------------------------------------- <?php hlavička ("Set-Cookie: hidden=value; httpOnly"); ?> -------------------------------------------------------------
ASP Ve vestavěných objektech ASP nejsou žádné relevantní metody, takže je lze implementovat pouze jako obcházení: -----------------------------------------------------<% ‘************************************************** 'ASP výstup httponly cookie IE6.0 nebo novější podpora prohlížeče 'WDFrog ‘2009-04-15 '<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> ‘**************************************************
'———-SetHttpOnlyCookie—————————————- 'Funkce: Nastavit HttpOnly cookies 'Parametry: expDate je konec záruky, 0 znamená nenastaveno, a nastavené na určitý čas v minulosti znamená vyrovnání 'argument: doména je prázdná (string. Empty) znamená nesetovat ‘——————————————————————- Funkce SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate) Dim cookie cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; path=" & path Pokud expDate <> 0, pak cookie=cookie & "; expires=" & DateToGMT(expDate) Konec pokud
Pokud doména <> "" Pak cookie=cookie & "; doména=" & doména Konec pokud
cookie=cookie & "; HttpOnly"
Volejte Response.AddHeader ("Set-Cookie", cookie) Konečná funkce
'————-pochopímGMTTime———— 'Parametry: sDate je čas, který je třeba převést na GMT ‘——————————— Funkce DateToGMT(sDate) Dim dWeek,dMonth Dim strZero, strZone strZero="00" strZone="+0800" dWeek=Array("Nedele", "Podělení", "Úterý", "Wes", "Čt", "Pátek", "sobota") dMonth=Array("Leden","únor","Březen',"duben","květen","červen","červenec","srpen","září","říjen","listopad", "prosinec") 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á funkce ' reference 'Call SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)
%>
---------------------------------------------------- Reference: 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 |