See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 15572|Vastuse: 0

[ASP.NET] Üksikasjalik selgitus HttpOnly seadistustest levinud veebiarenduskeeltes

[Kopeeri link]
Postitatud 03.06.2015 21:02:38 | | |

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




Eelmine:Parandage veebirakenduste turvalisust Httponly'ga
Järgmine:Lahendus SQL Server 2008 5120 veaks manuseandmebaasis
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com