Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 15572|Odgovoriti: 0

[ASP.NET] Podrobna razlaga nastavitev HttpOnly v običajnih jezikih spletnega razvoja

[Kopiraj povezavo]
Objavljeno na 3. 06. 2015 21:02:38 | | |

Za analizo XSS s strani HttpOnly za pridobivanje informacij o piškotkih si oglejte Kenshinovo besedilo: Uporaba httpOnly za izboljšanje varnosti aplikacij.

Nastavitve v javaEE:

V API-ju ni določene metode delovanja ali funkcijskega atributa, in ne vem, ali bo na voljo v prihodnjih različicah, naslednje je rešitev:

————————————————————————————–

response.setHeader("Set-Cookie", "cookiename=value;
Path=/; Domain=neeao.com; Max-Starost=sekunde; HTTPOnly");

————————————————————————————–

Nastavitve v ASP.NET
  Različice .NET 2.0 in novejše podpirajo konfiguracijo globalnega http-only v datoteki Web.config, ki je nastavljena takole: preprosto dodajte vozlišče v web.config:
  ------------------------------------------------------------------
   <httpCookies httpOnlyCookies="true" />
  ------------------------------------------------------------------
  V .net 2.0 ali novejšem objektu piškotkov obstaja neposreden parameter HttpOnly za klice, metoda uporabe pa je naslednja:
  C# koda:
  ------------------------------------------------------------------
  HttpCookie myCookie = nov HttpCookie ("myCookie");
  myCookie.HttpOnly = res;
  Response.AppendCookie(myCookie);
  -------------------------------------------------------------------
  vb.net koda
  -------------------------------------------------------------------
  Zatemni myCookie kot HttpCookie = novi HttpCookie("myCookie")
  myCookie.HttpOnly = Resnično
  Response.AppendCookie(myCookie)
  -------------------------------------------------------------------
  V asp.net 1.1 lahko globalne piškotke HttpOnly nastavite tako, da dodajo Application_EndRequest dogodek aplikacijskega vozlišča globalne datoteke Global.asax:
  -------------------------------------------------------------------
  zaščitena praznina Application_EndRequest(Object sender, EventArgs e)

  {
       string authCookie = FormsAuthentication.FormsCookieName;
       foreach (niz sCookie v Response.Cookies)
       {
          if (sCookie.Equals(authCookie))
          {
               Response.Cookies[sCookie]. Pot += "; HttpOnly";
           }
      }
  }
  -------------------------------------------------------------------
  Če ga napišete v kodo, ga morate dodati takole:
  --------------------------------------------
  Response.Cookies[piškotek]. Pot += "; HTTPOunly";
  ---------------------------------------------
nastavitve v PHP
  Različice PHP5.2 in novejše že podpirajo nastavitev parametrov HttpOnly, prav tako pa podpirajo nastavitev globalnega HttpOnly v php.ini
  -----------------------------------------------------
  session.cookie_httponly =
  -----------------------------------------------------
  Nastavi njeno vrednost na 1 ali TRUE, da omogočiš atribut HttpOnly v globalnem piškotku, seveda pa jo lahko omogočiš tudi v kodi:
  -----------------------------------------------------
  <?php
  ini_set("session.cookie_httponly", 1);
  ali
  session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
  ?>
  -----------------------------------------------------
  Funkcija za operacijo piškotkov setcookie in funkcija setrawcookie prav tako dodata 7. parameter kot možnost za HttpOnly, metoda odpiranja pa je:
  -------------------------------------------------------
  setcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  setrawcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  -------------------------------------------------------
  Za PHP različice pred različicama 5.1 in PHP4 morate uporabiti funkcijo glave za spremembe:
  -------------------------------------------------------------
  <?php
  header("Set-Cookie: hidden=value; httpOnly");
  ?>
  -------------------------------------------------------------

ASP
V vgrajenih objektih ASP ni ustreznih metod, zato jih lahko implementirate le kot rešitev:
  -----------------------------------------------------<%
‘**************************************************
'ASP izpis httponly piškotkov IE6.0 ali novejše - podpora brskalnikom
'WDFrog
‘2009-04-15
'<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
‘**************************************************

'———-SetHttpOnlyCookie—————————————-
'Funkcija: Nastavite piškotke samo za http
'Parametri: expDate je potek garancije, 0 pomeni ni nastavljeno, in nastavljeno na določen čas v preteklosti pomeni poplačilo
'argument: domena je prazna (string. Prazno) pomeni, da ni nastavljen
‘——————————————————————-
Funkcija SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate)
Dim cookie
cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; pot=" & pot
Če je expDate <> 0, potem
piškot=piškotek & "; expires=" & DateToGMT(expDate)
Konec, če

Če <> domena "" Potem
piškot=piškotek & "; domena=" & domena
Konec, če

piškot=piškotek & "; HttpOnly"

Klic Response.AddHeader ("Set-Cookie", piškotek)
Končna funkcija

'————-razumemGMTTime————
'Parametri: sDate je čas, ki ga je treba pretvoriti v GMT
‘———————————
Funkcija DateToGMT(sDate)
Dim dWeek,dMonth
Dim strZero, strZone
strZero="00"
strZone="+0800"
dWeek=Array("Sun","Mon","Turek","Wes","Čet","Petek,"Sobota")
dMonth=Array("Jan", "Feb", "Marec", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Oct", "Nov", "Dec")
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
Končna funkcija
' referenca
'Pokliči SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)

%>

  ----------------------------------------------------
Viri:
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




Prejšnji:Izboljšajte varnost spletnih aplikacij z Httponly
Naslednji:Rešitev za napako SQL Server 2008 5120 v podatkovni bazi prilog
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com