Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 15572|Antwoord: 0

[ASP.NET] Gedetailleerde uitleg van HttpOnly-instellingen in veelvoorkomende webontwikkelingstalen

[Link kopiëren]
Geplaatst op 03-06-2015 21:02:38 | | |

Voor de analyse van XSS door HttpOnly om cookie-informatie te verkrijgen, zie Kenshin's tekst: Gebruik httpOnly om applicatiebeveiliging te verbeteren.

Instellingen in javaEE:

Er is geen specifieke operatiemethode of functieattribuut in de API, en ik weet niet of het in toekomstige versies zal worden aangeboden, het volgende is een workaround:

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

response.setHeader("Set-Cookie", "cookiename=value;
Pad=/; Domain=neeao.com; Max-Leeftijd=seconden; HTTPOnly");

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

Instellingen in ASP.NET
  .net 2.0 en hogere versies ondersteunen het configureren van de globale httponly in het Web.config-bestand, dat als volgt is ingesteld: voeg gewoon een node toe aan de web.config:
  ------------------------------------------------------------------
   <httpCookies httpOnlyCookies="true" />
  ------------------------------------------------------------------
  In het .net 2.0 of later cookie-object is er een directe HttpOnly-parameter voor het aanroepen, en de gebruiksmethode is als volgt:
  C#-code:
  ------------------------------------------------------------------
  HttpCookie myCookie = nieuwe HttpCookie ("myCookie");
  myCookie.HttpOnly = true;
  Response.AppendCookie(myCookie);
  -------------------------------------------------------------------
  vb.net code
  -------------------------------------------------------------------
  Dim myCookie As HttpCookie = nieuwe HttpCookie ("myCookie")
  myCookie.HttpOnly = True
  Response.AppendCookie(myCookie)
  -------------------------------------------------------------------
  In asp.net 1.1 kun je ook de globale cookies HttpOnly instellen om het Application_EndRequest event van de applicatienode van het globale bestand Global.aSax toe te voegen:
  -------------------------------------------------------------------
  beschermde void Application_EndRequest(Objectzender, EventArgs e)

  {
       string authCookie = FormsAuthentication.FormsCookieName;
       foreach (string sCookie in Response.Cookies)
       {
          if (sCookie.Equals(authCookie))
          {
               Response.Cookies[sCookie]. Pad += "; HttpOnly";
           }
      }
  }
  -------------------------------------------------------------------
  Als je het in de code schrijft, moet je het als volgt toevoegen:
  --------------------------------------------
  Response.Cookies[cookie]. Pad += "; HTTPOnly";
  ---------------------------------------------
instellingen in PHP
  Versies van PHP5.2 en hoger ondersteunen al het instellen van HttpOnly-parameters, en ondersteunen ook het instellen van globale HttpOnly in php.ini
  -----------------------------------------------------
  session.cookie_httponly =
  -----------------------------------------------------
  Stel de waarde in op 1 of TRUE om het HttpOnly-attribuut van de globale cookie in te schakelen, en natuurlijk kun je het ook in de code inschakelen:
  -----------------------------------------------------
  <?php
  ini_set ("session.cookie_httponly", 1);
  of
  session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
  ?>
  -----------------------------------------------------
  De cookie-operatiefunctie setcookie-functie en de setrawcookie-functie voegen ook de 7e parameter toe als optie voor HttpOnly, en de openingsmethode is:
  -------------------------------------------------------
  setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  setrawcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  -------------------------------------------------------
  Voor PHP-versies vóór 5.1 en PHP4 moet je de headerfunctie gebruiken om wijzigingen aan te brengen:
  -------------------------------------------------------------
  <?php
  header("Set-Cookie: hidden=value; httpOnly");
  ?>
  -------------------------------------------------------------

ASP
Er zijn geen relevante methoden beschikbaar in de ingebouwde objecten van asp, dus je kunt het alleen als een workaround implementeren:
  -----------------------------------------------------<%
‘**************************************************
'ASP voert httponly cookie IE6.0 of hoger browserondersteuning uit
'WDFrog
‘2009-04-15
'<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
‘**************************************************

'———-SetHttpOnlyCookie—————————————-
'Functie: HttpOnly Cookies instellen
'Parameters: expDate is het verlopen van de garantie, 0 betekent niet ingesteld, en op een bepaalde tijd in het verleden zetten betekent clearing
'argument: domein is leeg (string. Leeg) betekent niet vastgesteld
‘——————————————————————-
Functie SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate)
Dim cookie
cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; pad=" & pad
Als expDate <> 0 dan
cookie=cookie & "; expires=" & DateToGMT(expDate)
Einde Als

Als domein <> "" dan
cookie=cookie & "; domein=" & domein
Einde Als

cookie=cookie & "; HttpOnly"

Call Response.AddHeader ("Set-cookie", cookie)
Eindfunctie

'————-getGMTTime————
'Parameters: sDate is de tijd die omgezet moet worden naar GMT
‘———————————
Functie DateToGMT(sDate)
Dim dWeek, dMaand
Dim strZero, strZone
strZero="00"
strZone="+0800"
dWeek=Array("Zon","Ma","Dinsdag","Wes","Do","Vrij","Saterdag")
dMonth=Array("Jan","Feb","Maart","Apr","Mei","Jun","Jul","Aug","Sep","Okt","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
Eindfunctie
' referentie
'Roep SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)

%>

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




Vorig:Verbeter de beveiliging van webapplicaties met Httponly
Volgend:Oplossing voor SQL Server 2008 5120 fout in de bijhangdatabase
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com