Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 15572|Ответ: 0

[ASP.NET] Подробное объяснение настроек HttpOnly в распространённых языках веб-разработки

[Скопировать ссылку]
Опубликовано 03.06.2015 21:02:38 | | |

Для анализа XSS от HttpOnly с целью получения информации о файлах cookie, пожалуйста, обратитесь к статье Kenshin: Using httpOnly для повышения безопасности приложений.

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

В API нет конкретного метода операции или атрибута функции, и я не знаю, будут ли они доступны в будущих версиях, ниже приведено обходное решение:

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

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

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

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

  {
       string authCookie = FormsAuthentication.FormsCookieName;
       foreach (строка sCookie в Response.Cookies)
       {
          if (sCookie.Equals(authCookie))
          {
               Ответ. Cookies[sCookie]. Путь += "; HttpOnly»;
           }
      }
  }
  -------------------------------------------------------------------
  Если вы пишете это в коде, добавляйте так:
  --------------------------------------------
  Ответ. Cookies[cookie]. Путь += "; 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);
  ?>
  -----------------------------------------------------
  Функция операций cookie setcookie и setrawcookie также добавляют 7-й параметр в качестве опции для HttpOnly, а метод открытия выглядит так:
  -------------------------------------------------------
  setcookie («abc», «test», NULL, NULL, NULL, NULL, TRUE);
  setrawcookie («abc», «test», NULL, NULL, NULL, NULL, TRUE);
  -------------------------------------------------------
  Для версий PHP до версий 5.1 и PHP4 необходимо использовать функцию заголовка для внесения изменений:
  -------------------------------------------------------------
  <?php
  header("Set-Cookie: hidden=value; httpOnly»);
  ?>
  -------------------------------------------------------------

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

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

Если домен <> «», то
cookie=печенье & "; домен=" & домен
Конец если.

cookie=печенье & "; Только на http»

Call Response.AddHeader ("Set-Cookie", cookie)
Конечная функция

'————-получи GMTTime————
'Параметры: sDate — это время, которое нужно преобразовать в GMT
‘———————————
Функция DateToGMT(sDate)
Dim dWeek, dMonth
Dim strZero,strZone
strZero="00"
strZone="+0800"
dWeek=Array("Sun","Mon","Tue","Wes","Чт","Пт","Сб")
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