HttpOnly'i analüüsi XSS-i kohta küpsiste info saamiseks vaadake palun Kenshini kirjutist: httpOnly kasutamine rakenduse turvalisuse parandamiseks.
JavaEE seaded:
API-s ei ole konkreetset operatsioonimeetodit ega funktsiooni atribuuti ning ma ei tea, kas seda tulevastes versioonides pakutakse, järgmine on lahendus:
————————————————————————————–
response.setHeader("Set-Cookie", "cookiename=value; Path=/; Domain=neeao.com; Max-Vanus=sekundid; HTTPOnly");
————————————————————————————–
Seaded ASP.NET .net 2.0 ja uuemad versioonid toetavad globaalse http ainult konfigureerimist Web.config failis, mis on seatud järgmiselt, lihtsalt lisa web.config sõlm: ------------------------------------------------------------------ <httpCookies httpOnlyCookies="true" /> ------------------------------------------------------------------ .net 2.0 või uuemas küpsiseobjektis on otsene HttpOnly parameeter kutsumiseks ning kasutusviis on järgmine: C# kood: ------------------------------------------------------------------ HttpCookie myCookie = uus HttpCookie("myCookie"); myCookie.HttpOnly = tõene; Response.AppendCookie(myCookie); ------------------------------------------------------------------- vb.net kood ------------------------------------------------------------------- Hämarda myCookie kui HttpCookie = uus HttpCookie("myCookie") myCookie.HttpOnly = Tõsi Response.AppendCookie(myCookie) ------------------------------------------------------------------- asp.net versioonis 1.1 saab määrata globaalsed küpsised HttpOnly lisamiseks globaalse faili Global.azax rakendussõlme Application_EndRequest juhtumis: ------------------------------------------------------------------- protected void Application_EndRequest(Objekti saatja, EventArgs e)
{ string authCookie = FormsAuthentication.FormsCookieName; foreach (string sCookie Response.Cookies) { if (sCookie.Equals(authCookie)) { Vastus.Küpsised[sKüpsis]. Tee += "; Ainult Http"; } } } ------------------------------------------------------------------- Kui kirjutad selle koodi, pead selle lisama nii: -------------------------------------------- Vastus.Küpsised[küpsis]. Tee += "; HTTPOnly"; --------------------------------------------- seaded PHP-s PHP5.2 ja uuemad versioonid toetavad juba HttpOnly parameetrite seadistust ning samuti globaalset HttpOnly seadistust php.ini ----------------------------------------------------- session.cookie_httponly = ----------------------------------------------------- Sea selle väärtus 1 või TRUE, et lubada globaalse küpsise HttpOnly atribuut, ja muidugi saad selle ka koodis lubada: ----------------------------------------------------- <?php ini_set("session.cookie_httponly", 1); või session_set_cookie_params(0, NULL, NULL, NULL, TRUE); ?> ----------------------------------------------------- Küpsiste operatsioonifunktsioon setcookie funktsioon ja setrawcookie funktsioon lisavad samuti seitsmenda parameetri HttpOnly valikuna ning avamismeetod on: ------------------------------------------------------- setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); ------------------------------------------------------- PHP versioonide puhul enne 5.1 ja PHP4 versioone tuleb kasutada päise funktsiooni muudatuste tegemiseks: ------------------------------------------------------------- <?php header("Set-Cookie: hidden=value; httpOnly"); ?> -------------------------------------------------------------
ASP ASP sisseehitatud objektides ei ole asjakohaseid meetodeid, seega saab seda rakendada ainult lahendusena: -----------------------------------------------------<% ‘************************************************** 'ASP väljund httponly küpsis IE6.0 või uuem brauseri tugi 'WDFrog ‘2009-04-15 '<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> ‘**************************************************
'———-PaneSetHttpOnlyCookie—————————————- 'Funktsioon: Sea HttpOnly küpsised 'Parameetrid: expDate tähendab garantii lõppemist, 0 tähendab, et ei ole seatud, ja minevikus teatud ajaks seadmine tähendab clearing'ut 'argument: domeen on tühi (string. Tühi) tähendab, et pole määratud ‘——————————————————————- Funktsioonide seadistusHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate) Dim küpsis cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; tee=" & tee Kui expDate <> 0, siis cookie=küpsis & "; expires=" & DateToGMT(expDate) Lõpp Kui
Kui domeen <> "" siis cookie=küpsis & "; domeen=" & domeen Lõpp Kui
cookie=küpsis & "; Ainult HttpOnly"
Call Response.AddHeader ("Set-Cookie", küpsis) Lõppfunktsioon
'————-Get GMTTimu———— 'Parameetrid: sDate on aeg, mis tuleb teisendada GMT-le ‘——————————— Function DateToGMT(sDate) Hämar dNädal, dKuu Dim strZero, strZone strZero="00" strZone="+0800" dWeek=Array ("Pühapäev","Esmas","Teisipäev","Wes","Neljapäev","Reede,"Laupäev") dMonth=Array("Jaanuar","Veebruar","Märts","April","Mai","Juuni","Juul","Aug","September","Okt","Nov","Dets") 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 Lõppfunktsioon ' viide 'Kutsu SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)
%>
---------------------------------------------------- Viited: 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 |