Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 15572|Odpowiedź: 0

[ASP.NET] Szczegółowe wyjaśnienie ustawień HttpOnly w popularnych językach tworzenia stron internetowych

[Skopiuj link]
Opublikowano 03.06.2015 21:02:38 | | |

Aby uzyskać analizę XSS w celu uzyskania informacji o plikach cookie przez HttpOnly, zapoznaj się z tekstem Kenshina: Using httpOnly to improve application security.

Ustawienia w javaEE:

W API nie ma konkretnej metody operacji ani atrybutu funkcji i nie wiem, czy będzie dostępny w przyszłych wersjach, poniższe jest obejście:

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

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

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

Ustawienia w ASP.NET
  Wersje .NET 2.0 i wyższe obsługują konfigurację globalnego http-only w pliku Web.config, co jest ustawione następująco, wystarczy dodać węzeł do web.config:
  ------------------------------------------------------------------
   <httpCookies httpOnlyCookies="true" />
  ------------------------------------------------------------------
  W obiekcie cookie .net 2.0 lub nowszym istnieje bezpośredni parametr HttpOnly do wywołania, a metoda użycia jest następująca:
  Kod C#:
  ------------------------------------------------------------------
  HttpCookie myCookie = nowy HttpCookie ("myCookie");
  myCookie.HttpOnly = true;
  Response.AppendCookie(myCookie);
  -------------------------------------------------------------------
  vb.net kod
  -------------------------------------------------------------------
  Osłabić myCookie jako HttpCookie = nowy HttpCookie("myCookie")
  myCookie.HttpOnly = Prawdziwe
  Response.AppendCookie(myCookie)
  -------------------------------------------------------------------
  W asp.net 1.1 można także ustawić globalne ciasteczka HttpOnly tak, aby dodawały zdarzenie Application_EndRequest węzła aplikacji globalnego pliku Global.asax:
  -------------------------------------------------------------------
  chroniony void Application_EndRequest(Nadawca obiektu, EventArgs e)

  {
       string authCookie = FormsAuthentication.FormsCookieName;
       foreach (ciąg sCookie w Response.Cookies)
       {
          if (sCookie.Equals(authCookie))
          {
               Response.Cookies[sCookie]. Ścieżka += "; HttpOnly";
           }
      }
  }
  -------------------------------------------------------------------
  Jeśli zapiszesz to w kodzie, musisz dodać to w ten sposób:
  --------------------------------------------
  Response.Cookies[cookie]. Ścieżka += "; HTTPonly";
  ---------------------------------------------
ustawienia w PHP
  Wersje PHP5.2 i wyższe już obsługują ustawianie parametrów HttpOnly, a także globalne ustawienie HttpOnly w php.ini
  -----------------------------------------------------
  session.cookie_httponly =
  -----------------------------------------------------
  Ustaw jego wartość na 1 lub TRUE, aby włączyć atrybut HttpOnly w globalnym ciasteczku, a oczywiście możesz też włączyć go w kodzie:
  -----------------------------------------------------
  <?php
  ini_set("session.cookie_httponly", 1);
  lub
  session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
  ?>
  -----------------------------------------------------
  Funkcja operacji ciasteczka setcookie oraz funkcja setrawcookie dodają także 7. parametr jako opcję dla HttpOnly, a metoda otwierania to:
  -------------------------------------------------------
  setcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  setrawcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  -------------------------------------------------------
  W wersjach PHP sprzed wersji 5.1 i PHP4 musisz użyć funkcji nagłówka, aby dokonać zmian:
  -------------------------------------------------------------
  <?php
  nagłówek("Set-Cookie: hidden=value; httpOnly");
  ?>
  -------------------------------------------------------------

ASP
W wbudowanych obiektach ASP nie ma odpowiednich metod, więc można je zaimplementować jedynie jako obejście:
  -----------------------------------------------------<%
‘**************************************************
'ASP output httponly cookie IE6.0 lub nowsza obsługa przeglądarek
'WDFrog
‘2009-04-15
'<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
‘**************************************************

'———-SetOnlyCookie—————————————-
'Funkcja: Ustaw tylko ciasteczka http
'Parametry: expDate to wygaśnięcie gwarancji, 0 oznacza nieustalony, a ustawienie na określony czas w przeszłości oznacza zakończenie
'argument: domain is empty (string. Empty) oznacza nieustalony
‘——————————————————————-
Funkcja SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate)
Dim cookie
cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; path=" & path
Jeśli expDate <> 0, to
cookie=ciasteczko & "; expires=" & DateToGMT(expDate)
Koniec Jeśli

Jeśli domena <> "" To
cookie=ciasteczko & "; domena=" & dziedzina
Koniec Jeśli

cookie=ciasteczko & "; HttpOnly"

Wywołanie Response.AddHeader ("Set-Cookie", cookie)
Funkcja końcowa

'————-zrozum GMTTime————
'Parametry: sDate to czas, który trzeba przeliczyć na GMT
‘———————————
FunkcjaDateToGMT(sDate)
Dim dWeek, dMonth
Dim strZero, strZone
strZero="00"
strZone="+0800"
dWeek=Array("Niedziela","Poniedziałek,"Wt.","Wes","Czw.", "Piątek,"Sob")
dMonth=Array("styczeń","luty","marzec","kwiecień","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad", "grudzień")
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
Funkcja końcowa
' odniesienie
'Call SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)

%>

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




Poprzedni:Popraw bezpieczeństwo aplikacji webowych dzięki Httponly
Następny:Rozwiązanie dla błędu SQL Server 2008 5120 w bazie danych załącznika
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com