Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 15572|Отговор: 0

[ASP.NET] Подробно обяснение на настройките на HttpOnly в често срещани езици за уеб разработка

[Копирай линк]
Публикувано в 3.06.2015 г. 21:02:38 ч. | | |

За анализа на XSS от HttpOnly за получаване на информация за бисквитки, моля вижте текста на Kenshin: Използване на httpOnly за подобряване на сигурността на приложенията.

Настройки в javaEE:

В API-то не е предоставен конкретен метод на работа или атрибут на функцията и не знам дали ще бъде предоставен в бъдещи версии, следващото е заобиколно решение:

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

response.setHeader("Set-Cookie", "cookiename=стойност;
Път=/; Domain=neeao.com; Максимална възраст = секунди; HTTPOnly");

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

Настройки в ASP.NET
  Версиите .net 2.0 и по-горе поддържат конфигуриране на глобалния httponly във файла Web.config, който е зададен по следния начин, просто добавете възел към web.config:
  ------------------------------------------------------------------
   <httpCookies httpOnlyCookies="true" />
  ------------------------------------------------------------------
  В .net 2.0 или по-новия обект за бисквитки има директен параметър HttpOnly за извикване, а методът на използване е следният:
  C# код:
  ------------------------------------------------------------------
  HttpCookie myCookie = нов HttpCookie("myCookie");
  myCookie.HttpOnly = true;
  Response.AppendCookie(myCookie);
  -------------------------------------------------------------------
  vb.net код
  -------------------------------------------------------------------
  Dim myCookie като HttpCookie = нов HttpCookie("myCookie")
  myCookie.HttpOnly = Вярно
  Response.AppendCookie(myCookie)
  -------------------------------------------------------------------
  В asp.net 1.1 можете също да зададете глобалните бисквитки HttpOnly да добавят в Application_EndRequest събитие на приложния възел на глобалния файл Global.asax:
  -------------------------------------------------------------------
  защитен void Application_EndRequest(Object sender, EventArgs e)

  {
       string authCookie = FormsAuthentication.FormsCookieName;
       foreach (низ sCookie в Response.Cookies)
       {
          ако (sCookie.Equals(authCookie))
          {
               Отговор. Бисквитки[sCookie]. Път += "; HttpOnly";
           }
      }
  }
  -------------------------------------------------------------------
  Ако го напишеш в кода, трябва да го добавиш по следния начин:
  --------------------------------------------
  Отговор. Бисквитки[бисквитка]. Път += "; HTTPOnly";
  ---------------------------------------------
настройки в PHP
  Версиите PHP5.2 и по-високи вече поддържат настройката на параметрите HttpOnly, както и настройката на глобалния HttpOnly в php.ini
  -----------------------------------------------------
  session.cookie_httponly =
  -----------------------------------------------------
  Задайте стойността му на 1 или TRUE, за да активирате атрибута HttpOnly на глобалната бисквитка, и разбира се, можете да го активирате и в кода:
  -----------------------------------------------------
  <?php
  ini_set("session.cookie_httponly", 1);
  или
  session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
  ?>
  -----------------------------------------------------
  Функцията за операция с бисквитки setcookie и setrawcookie също добавят 7-ия параметър като опция за HttpOnly, а методът за отваряне е:
  -------------------------------------------------------
  setcookie ("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  setrawcookie ("азбука", "тест", NULL, NULL, NULL, NULL, TRUE);
  -------------------------------------------------------
  За PHP версии преди версиите 5.1 и PHP4 трябва да използвате функцията за заглавие, за да направите промени:
  -------------------------------------------------------------
  <?php
  header("Set-Cookie: hidden=стойност; httpOnly");
  ?>
  -------------------------------------------------------------

ASP
В вградените обекти на asp не са предоставени релевантни методи, така че можете да ги реализирате само като заобиколно решение:
  -----------------------------------------------------<%
‘**************************************************
'ASP изход за httponly бисквитки IE6.0 или по-нова поддръжка на браузър
'WDFrog
‘2009-04-15
'<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
‘**************************************************

'———-SetHttpOnlyCookie—————————————-
'Функция: Задайте HttpOnly бисквитки
'Параметри: expDate е изтичането на гаранцията, 0 означава не е зададено, а зададено на определено време в миналото означава изчистване
'аргумент: домейнът е празен (низ. Празно) означава не е зададена
‘——————————————————————-
Function SetHttpOnlyCookie (cookieName,cookieValue,domain,path,expDate)
Дим бисквитка
cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; път=" & път
Ако expDate <> 0, тогава
cookie=бисквитка & "; expires=" & DateToGMT(expDate)
Край ако

Ако домейн <> "" тогава
cookie=бисквитка & "; domain=" & домейн
Край ако

cookie=бисквитка & "; HttpOnly"

Call Response.AddHeader ("Set-Cookie", бисквитка)
Крайна функция

'————-get GMTTime————
'Параметри: sDate е времето, което трябва да се конвертира в GMT
‘———————————
Функция DateToGMT(sDate)
Тъмна седмица, месец
Dim strZero, strZone
strZero="00"
strZone="+0800"
dWeek=Array("Неделя","Понеделник","Вторник","Уес","Четвъртък","Петък","Събота")
dMonth=Array("януари","февруари","март","април","май","юни","юли","авг","септември",октомвриозни","ноември","декември")
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
Крайна функция
' референция
'Call SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)

%>

  ----------------------------------------------------
Източници:
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




Предишен:Подобряване на сигурността на уеб приложенията с Httponly
Следващ:Решение за SQL Server 2008 5120 грешка в база данни за прикачени файлове
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com