Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 15572|Відповідь: 0

[ASP.NET] Детальне пояснення налаштувань HttpOnly у поширених мовах веб-розробки

[Копіювати посилання]
Опубліковано 03.06.2015 21:02:38 | | |

Для аналізу XSS від HttpOnly для отримання інформації про файли cookie, будь ласка, зверніться до статті Kenshin: Використання httpOnly для покращення безпеки додатків.

Налаштування в javaEE:

У API немає конкретного методу операції чи атрибута функції, і я не знаю, чи буде це надано в майбутніх версіях, ось що наведено обхідний шлях:

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

response.setHeader("Set-Cookie", "cookiename=value;
Шлях=/; Domain=neeao.com; Max-Age=секунди; 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;
  Відповідь.AppendCookie(myCookie);
  -------------------------------------------------------------------
  vb.net код
  -------------------------------------------------------------------
  Dim myCookie як HttpCookie = новий HttpCookie("myCookie")
  myCookie.HttpOnly = True
  Відповідь.AppendCookie(myCookie)
  -------------------------------------------------------------------
  У asp.net 1.1 ви також можете налаштувати глобальні файли cookie HttpOnly для додавання Application_EndRequest події вузла додатку глобального файлу Global.asax:
  -------------------------------------------------------------------
  захищений порожній 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 також додають сьомий параметр як опцію для HttpOnly, а метод відкриття виглядає:
  -------------------------------------------------------
  setcookie ("abc", "тест", NULL, NULL, NULL, NULL, TRUE);
  setrawcookie ("abc", "тест", NULL, NULL, NULL, NULL, TRUE);
  -------------------------------------------------------
  Для версій PHP до версій 5.1 та PHP4 потрібно використовувати функцію заголовка для внесення змін:
  -------------------------------------------------------------
  <?php
  header("Set-Cookie: hidden=value; httpOnly");
  ?>
  -------------------------------------------------------------

ASP
У вбудованих об'єктах asp немає відповідних методів, тому їх можна реалізувати лише як обхідний шлях:
  -----------------------------------------------------<%
‘**************************************************
'Підтримка браузера IE6.0 або вище для ASP-виводу httponly cookie
'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=печиво & "; HttpOnly"

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

'————-отримай GMTTime————
'Параметри: sDate — це час, який потрібно конвертувати у GMT
‘———————————
Функція DateToGMT(sDate)
Тьмяний тиждень, місяць
Dim strZero,strZone
strZero="00"
strZone="+0800"
dWeek=Array("Неділя","Пн","Вівток","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