Pentru analiza HttpOnly a XSS pentru a obține informații despre cookie-uri, vă rugăm să consultați scrierile lui Kenshin: Utilizarea httpOnly pentru îmbunătățirea securității aplicațiilor.
Setări în javaEE:
Nu există o metodă specifică de operare sau atribut de funcție în API și nu știu dacă va fi disponibilă în versiunile viitoare, următoarea este o soluție de ocolire:
————————————————————————————–
response.setHeader("Set-Cookie", "cookiename=value; Cale=/; Domain=neeao.com; Max-Vârstă=secunde; HTTPOnly");
————————————————————————————–
Setări în ASP.NET versiunile .net 2.0 și anterioare suportă configurarea httponly globală în fișierul Web.config, care este setat astfel, pur și simplu adaugă un nod în web.config: ------------------------------------------------------------------ <httpCookies httpOnlyCookies="true" /> ------------------------------------------------------------------ În obiectul cookie .net 2.0 sau mai târziu, există un parametru HttpOnly direct pentru apelare, iar metoda de utilizare este următoarea: Cod C#: ------------------------------------------------------------------ HttpCookie myCookie = new HttpCookie("myCookie"); myCookie.HttpOnly = adevărat; Răspuns.AnexăCookie(CookieMea); ------------------------------------------------------------------- Codul vb.net ------------------------------------------------------------------- Dim myCookie As HttpCookie = new HttpCookie("myCookie") myCookie.HttpOnly = True Răspuns.AnexăCookie(myCookie) ------------------------------------------------------------------- În asp.net 1.1 poți seta și cookie-urile globale HttpOnly pentru a adăuga Application_EndRequest eveniment al nodului aplicație al fișierului global Global.asax: ------------------------------------------------------------------- Vid protejat Application_EndRequest(Object sender, EventArgs e)
{ string authCookie = FormsAuthentication.FormsCookieName; foreach (șir sCookie în Response.Cookies) { if (sCookie.Egal(authCookie)) { Răspuns.Cookie[sCookie]. Path += "; HttpOnly"; } } } ------------------------------------------------------------------- Dacă o scrii în cod, trebuie să o adaugi astfel: -------------------------------------------- Response.Cookies[cookie]. Path += "; HTTPOnly"; --------------------------------------------- setări în PHP Versiunile PHP5.2 și anterioare suportă deja setarea parametrilor HttpOnly și suportă, de asemenea, setarea globală a HttpOnly în php.ini ----------------------------------------------------- session.cookie_httponly = ----------------------------------------------------- Setează valoarea la 1 sau TRUE pentru a activa atributul HttpOnly al cookie-ului global și, desigur, îl poți activa și în cod: ----------------------------------------------------- <?php ini_set("session.cookie_httponly", 1); sau session_set_cookie_params(0, NUL, NUL, NUL, ADEVĂRAT); ?> ----------------------------------------------------- Funcția de operare cookie, setcookie function și setrawcookie adaugă, de asemenea, al 7-lea parametru ca opțiune pentru HttpOnly, iar metoda de deschidere este: ------------------------------------------------------- setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); ------------------------------------------------------- Pentru versiunile PHP anterioare 5.1 și PHP4, trebuie să folosești funcția de antet pentru a face modificări: ------------------------------------------------------------- <?php header("Set-Cookie: hidden=value; httpOnly"); ?> -------------------------------------------------------------
ASP Nu există metode relevante oferite în obiectele încorporate din asp, așa că poți implementa asta doar ca soluție temporară: -----------------------------------------------------<% ‘************************************************** 'Ieșire ASP httponly cookie IE6.0 sau suport superior pentru browsere 'WDFrog ‘2009-04-15 '<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> ‘**************************************************
'———-SetHttpOnlyCookie—————————————- "Funcție: setează cookie-uri doar http "Parametri: expDate este expirarea garanției, 0 înseamnă nesetată, iar setată la o anumită perioadă în trecut înseamnă eliberare "argument: domeniul este gol (șir. Vid) înseamnă nesetat ‘——————————————————————- Function SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate) Dim cookie cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; Cale=" & Calea Dacă expDate <> 0, atunci cookie=cookie & "; expires=" & DateToGMT(expDate) Sfârșit dacă
Dacă domeniul <> "" atunci cookie=cookie & "; domeniu=" & domeniu Sfârșit dacă
cookie=cookie & "; HttpOnly"
Call Response.AddHeader ("Set-Cookie", cookie) Funcția finală
'————-getGMTTime———— "Parametri: sDate este timpul care trebuie convertit în GMT ‘——————————— Funcție DatePână GMT(sData) Dim dWeek, dMonth Dim strZero, strZone strZero="00" strZone="+0800" dSăptămână=Aranjament("Sun", "Mon", "Marți", "Wes", "Joi", "Vine", "Sâmbătă") dMonth=Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") DateToGMT = dSăptămâna(ZileSăptămânii(sData)-1)&", "&Dreapta(strZero&Ziua(sData),2)&" "&dLună(Lună(sData)-1)&" "&An(sData)&" "&Dreapta(strZero&Ora(sData),2)&":"&Dreapta(strZero&Minute( sDate),2)&":"&Right(strZero&Second(sDate),2)&" "&strZone Funcția finală ' Referință 'Call SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)
%>
---------------------------------------------------- Referințe: 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 |