Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 15572|Vastaus: 0

[ASP.NET] Yksityiskohtainen selitys HttpOnly-asetuksista yleisissä web-kehityskielissä

[Kopioi linkki]
Julkaistu 3.6.2015 21.02.38 | | |

HttpOnlyn analyysin XSS:stä evästetietojen saamiseksi löytyy Kenshinin kirjoituksesta: httpOnlyn käyttö sovellusturvallisuuden parantamiseksi.

JavaEE:n asetukset:

API:ssa ei ole mitään erityistä toimintatapaa tai funktioattribuuttia, enkä tiedä, tarjotaanko niitä tulevissa versioissa, seuraava on kiertotie:

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

response.setHeader("Set-Cookie", "cookiename=value;
Polku=/; Domain=neeao.com; Maksimi-ikä=sekunteja; HTTPOnly");

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

Ympäristöt ASP.NET
  .net 2.0 ja uudemmat versiot tukevat globaalin httponly-konfigurointia Web.config-tiedostossa, joka on asetettu seuraavasti, lisää vain solmu web.config-tiedostoon:
  ------------------------------------------------------------------
   <httpCookies httpOnlyCookies="true" />
  ------------------------------------------------------------------
  .net 2.0 tai uudemmassa evästeobjektissa on suora HttpOnly -parametri kutsua varten, ja käyttötapa on seuraava:
  C#-koodi:
  ------------------------------------------------------------------
  HttpCookie myCookie = uusi HttpCookie ("myCookie");
  myCookie.HttpOnly = totta;
  Response.AppendCookie(myCookie);
  -------------------------------------------------------------------
  vb.net koodi
  -------------------------------------------------------------------
  Himmennä myCookie Esimerkiksi HttpCookie = uusi HttpCookie ("myCookie")
  myCookie.HttpOnly = Totta
  Vastaus.AppendCookie(myCookie)
  -------------------------------------------------------------------
  asp.net versiossa 1.1 voit myös asettaa globaalit evästeet HttpOnly lisäämään Application_EndRequest tapauksessa, jossa globaalin tiedoston Global.asaxin sovellussolmu esiintyy:
  -------------------------------------------------------------------
  protected void Application_EndRequest(Object sender, EventArgs e)

  {
       string authCookie = FormsAuthentication.FormsCookieName;
       foreach (merkkijono sCookie Response.Cookies-tiedostossa)
       {
          if (sCookie.Equals(authCookie))
          {
               Vastaus.Evästeet[sCookie]. Polku += "; HttpOnly";
           }
      }
  }
  -------------------------------------------------------------------
  Jos kirjoitat sen koodiin, sinun täytyy lisätä se näin:
  --------------------------------------------
  Vastaus. Evästeet[eväste]. Polku += "; HTTPOnly";
  ---------------------------------------------
asetukset PHP:ssä
  PHP5.2 ja uudemmat versiot tukevat jo HttpOnly-parametrien asettamista, ja myös globaalin HttpOnly-asetuksen php.ini
  -----------------------------------------------------
  session.cookie_httponly =
  -----------------------------------------------------
  Aseta sen arvoksi 1 tai TRUE, jotta globaalin evästeen HttpOnly -attribuutti voidaan ottaa käyttöön, ja tietysti voit ottaa sen myös käyttöön koodissa:
  -----------------------------------------------------
  <?php
  ini_set("session.cookie_httponly", 1);
  tai
  session_set_cookie_params(NOLLA, NOLLA, NOLLA, TOSI);
  ?>
  -----------------------------------------------------
  Evästetoiminto setcookie-funktio ja setrawcookie-funktio lisäävät myös seitsemännen parametrin vaihtoehtona HttpOnlylle, ja avausmenetelmä on:
  -------------------------------------------------------
  setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  setrawcookie("abc", "testi", NULL, NULL, NULL, NULL, TRUE);
  -------------------------------------------------------
  PHP-versioissa ennen 5.1- ja PHP4-versioita sinun täytyy käyttää otsikkofunktiota muutosten tekemiseen:
  -------------------------------------------------------------
  <?php
  header("Set-Cookie: hidden=value; httpOnly");
  ?>
  -------------------------------------------------------------

ASP
ASP:n sisäänrakennetuissa objekteissa ei ole olennaisia menetelmiä, joten voit toteuttaa sen vain kiertotienä:
  -----------------------------------------------------<%
‘**************************************************
'ASP output httponly cookie IE6.0 tai uudempi selaintuki
'WDFrog
‘2009-04-15
'<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
‘**************************************************

'———-AsetaHttpOnlyCookie—————————————-
'Funktio: Aseta HttpOnly -evästeet
'Parametrit: expDate tarkoittaa takuun päättymistä, 0 tarkoittaa, ettei ole asetettu, ja asetettu tiettyyn aikaan menneisyydessä tarkoittaa clearing
'argumentti: alue on tyhjä (merkkijono. Tyhjä) tarkoittaa, ettei ole asetettu
‘——————————————————————-
FunktiosetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate)
Dim cookie
cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; path=" & polku
Jos expDate <> 0, niin
cookie=cookie & "; expires=" & DateToGMT(expDate)
Lopeta jos

Jos domain <> "" niin
cookie=cookie & "; domain=" & domain
Lopeta jos

cookie=cookie & "; Vain HttpOnly"

Call Response.AddHeader ("Set-Cookie", eväste)
Loppufunktio

'————-get GMTTime————
'Parametrit: sDate on aika, joka täytyy muuntaa GMT:ksi
‘———————————
Function DateToGMT(sDate)
Himmeä dViikko, dKuukausi
Dim strZero, strZone
strZero="00"
strZone="+0800"
dViikko=Array("Sunnuntai","Ma","Tiistai","Wes","To","Perjanta","La)
dKuukausi=Array("Tammi", "Helmikuu", "Maaliskuu", "Touko", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marras", "Joulu")
DateToGMT = dViikko(Viikkopäivä(sPäivä)-1)&", "&Right(strZero&Day(sDate),2)&" "&dKuukausi(Kuukausi(sDate)-1)&" "&Vuosi(sDate)&" "&Right(strZero&Hour(sDate),2)&":"&Right(strZero&Minute( sDate),2)&":"&Right(strZero&Second(sDate),2)&" "&strZone
Loppufunktio
' viittaus
'Kutsu SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)

%>

  ----------------------------------------------------
Lähteet:
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




Edellinen:Paranna verkkosovellusten turvallisuutta Httponlyn avulla
Seuraava:Ratkaisu SQL Server 2008 5120 -virheeseen liitetietokannassa
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com