Norėdami gauti "HttpOnly" XSS analizę, kad gautumėte informaciją apie slapukus, skaitykite "Kenshin" raštą: "httpOnly" naudojimas programų saugumui gerinti.
Nustatymai javaEE:
API nėra konkretaus veikimo metodo ar funkcijos atributo, ir nežinau, ar jis bus pateiktas būsimose versijose, toliau pateikiamas sprendimas:
————————————————————————————–
response.setHeader("Nustatyti-slapuką", "cookiename=reikšmė; Kelias =/; Domain=neeao.com; Maksimalus amžius=sekundės; HTTPOnly");
————————————————————————————–
Nustatymai ASP.NET .net 2.0 ir naujesnės versijos palaiko visuotinio httponly konfigūravimą Web.config faile, kuris nustatytas taip, tiesiog pridėkite mazgą prie web.config: ------------------------------------------------------------------ <httpCookies httpOnlyCookies="true" /> ------------------------------------------------------------------ .net 2.0 ar naujesnio slapuko objekte yra tiesioginis HttpOnly parametras, skirtas skambinti, o naudojimo būdas yra toks: C# kodas: ------------------------------------------------------------------ HttpCookie myCookie = naujas HttpCookie ("myCookie"); myCookie.HttpOnly = teisinga; Response.AppendCookie(myCookie); ------------------------------------------------------------------- vb.net kodas ------------------------------------------------------------------- Dim myCookie As HttpCookie = naujas HttpCookie ("myCookie") myCookie.HttpOnly = True Atsakymas.AppendCookie(myCookie) ------------------------------------------------------------------- 1.1 asp.net taip pat galite nustatyti visuotinius slapukus HttpOnly, kad jie būtų įtraukti į visuotinio failo Global.asax programos mazgo Application_EndRequest įvykį: ------------------------------------------------------------------- apsaugota void Application_EndRequest(Objekto siuntėjas, EventArgs e)
{ eilutė authCookie = FormsAuthentication.FormsCookieName; foreach (eilutė sCookie Response.Cookies) { if (sCookie.Equals(authCookie)) { Response.Cookies[sCookie]. Kelias += "; Tik http"; } } } ------------------------------------------------------------------- Jei parašysite jį kode, turite jį pridėti taip: -------------------------------------------- Atsakymas.Slapukai[slapukas]. Kelias += "; HTTPOnly"; --------------------------------------------- PHP nustatymai PHP5.2 ir naujesnės versijos jau palaiko HttpOnly parametrų nustatymą, taip pat palaiko visuotinio HttpOnly nustatymą php.ini ----------------------------------------------------- session.cookie_httponly = ----------------------------------------------------- Nustatykite jo reikšmę į 1 arba TRUE, kad įgalintumėte visuotinio slapuko atributą HttpOnly, ir, žinoma, taip pat galite jį įjungti kode: ----------------------------------------------------- <?php ini_set("session.cookie_httponly", 1); arba session_set_cookie_params(0, NULL, NULL, NULL, TRUE); ?> ----------------------------------------------------- Slapukų veikimo funkcija setcookie funkcija ir setrawcookie funkcija taip pat prideda 7-ąjį parametrą kaip HttpOnly parinktį, o atidarymo būdas yra: ------------------------------------------------------- setcookie("abc", "testas", NULL, NULL, NULL, NULL, TRUE); setrawcookie("abc", "testas", NULL, NULL, NULL, NULL, TRUE); ------------------------------------------------------- PHP versijose iki 5.1 ir PHP4 versijų turite naudoti antraštės funkciją, kad atliktumėte pakeitimus: ------------------------------------------------------------- <?php header("Nustatyti-slapukas: paslėptas=reikšmė; httpOnly"); ?> -------------------------------------------------------------
ASP Įmontuotuose asp objektuose nėra atitinkamų metodų, todėl galite jį įgyvendinti tik kaip sprendimą: -----------------------------------------------------<% ‘************************************************** 'ASP išvesties httponly slapukas IE6.0 arba naujesnė naršyklės parama "WDFrog ‘2009-04-15 '<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> ‘**************************************************
'———-SetHttpOnlyCookie—————————————- "Funkcija: nustatyti httpOnly slapukus "Parametrai: expDate yra garantijos galiojimo pabaiga, 0 reiškia nenustatyta, o nustatytas tam tikras laikas praeityje reiškia kliringą 'argumentas: domenas tuščias (eilutė. Tuščias) reiškia nenustatytas ‘——————————————————————- Function SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate) Blankus sausainis cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; path=" & kelias Jei expDate <> 0 Tada cookie=slapukas & "; expires=" ir DateToGMT(expDate) Baigti, jei
Jei domeno <> "" Tada cookie=slapukas & "; domenas=" & domenas Baigti, jei
cookie=slapukas & "; Tik http"
Call Response.AddHeader ("Set-Cookie", slapukas) Pabaigos funkcija
"————-getGMTTime———— "Parametrai: sDate yra laikas, kurį reikia konvertuoti į GMT ‘——————————— Funkcija DateToGMT(sDate) Dim dWeek,dMonth Dim strZero,strZone strZero="00" strZone="+0800" dWeek=Array("Sekmadienis","Pirmadienis","Antradienis","Wes","Ketvirtadienis","Penktadienis","Šeštadienis") dMonth=Array("Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis") 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 Pabaigos funkcija ' Nuoroda 'Call SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)
%>
---------------------------------------------------- Nuorodos: 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 |