Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 15572|Yanıt: 0

[ASP.NET] Yaygın web geliştirme dillerindeki HttpOnly ayarlarının ayrıntılı açıklaması

[Bağlantıyı kopyala]
Yayınlandı 3.06.2015 21:02:38 | | |

HttpOnly'nin XSS analizi için çerez bilgisi elde etmek için lütfen Kenshin'in yazısına bakınız: Uygulama güvenliğini artırmak için httpOnly kullanmak.

javaEE'de Ayarlar:

API'de belirli bir işlem yöntemi veya fonksiyon özniteliği sağlanmamıştır ve gelecekteki sürümlerde sunulup sağlanmayacağını bilmiyorum, aşağıdaki bir çözüm:

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

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

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

ASP.NET Ayarları
  .net 2.0 ve üzeri sürümler, Web.config dosyasında yalnızca genel http olarak yapılandırmayı destekler; dosya şu şekilde ayarlanır, sadece web.config'e bir düğüm ekleyin:
  ------------------------------------------------------------------
   <httpCookies httpOnlyCookies="true" />
  ------------------------------------------------------------------
  .net 2.0 veya daha sonraki cookie nesnesinde, çağrı için doğrudan bir HttpOnly parametresi vardır ve kullanım yöntemi şöyledir:
  C# kodu:
  ------------------------------------------------------------------
  HttpCookie myCookie = yeni HttpCookie("myCookie");
  myCookie.HttpOnly = doğru;
  Response.AppendCookie(myCookie);
  -------------------------------------------------------------------
  vb.net kodu
  -------------------------------------------------------------------
  Dim myCookie As HttpCookie = yeni HttpCookie("myCookie")
  myCookie.HttpOnly = Doğru
  Response.AppendCookie(myCookie)
  -------------------------------------------------------------------
  asp.net 1.1'de, küresel Global.asax dosyasının uygulama düğümünün Application_EndRequest olayında HttpOnly küresel çerezlerini de ekleyebilirsiniz:
  -------------------------------------------------------------------
  protected void Application_EndRequest(Object sender, EventArgs e)

  {
       string authCookie = FormsAuthentication.FormsCookieName;
       foreach (Response.Cookies ile sCookie dizi)
       {
          if (sCookie.Equals(authCookie))
          {
               Yanıt.Cookies[sCookie]. Yol += "; HttpOnly";
           }
      }
  }
  -------------------------------------------------------------------
  Eğer kodda yazarsanız, şöyle eklemeniz gerekir:
  --------------------------------------------
  Yanıt.Kurabiye[kurabiye]. Yol += "; HTTPOnly";
  ---------------------------------------------
PHP'deki ayarlar
  PHP5.2 ve üzeri sürümler zaten HttpOnly parametrelerinin ayarlanmasını desteklemekte ve ayrıca küresel HttpOnly ayarını desteklemektedir php.ini
  -----------------------------------------------------
  session.cookie_httponly =
  -----------------------------------------------------
  Değerini 1 veya TRUE olarak ayarlayarak küresel çerezin HttpOnly özelliğini etkinleştirin ve tabii ki kodda da etkinleştirebilirsiniz:
  -----------------------------------------------------
  <?php
  ini_set("session.cookie_httponly", 1);
  veya
  session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
  ?>
  -----------------------------------------------------
  Çerez işlem fonksiyonu setcookie fonksiyonu ve setrawcookie fonksiyonu da HttpOnly için 7. parametreyi bir seçenek olarak ekler ve açılış yöntemi şöyledir:
  -------------------------------------------------------
  setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
  -------------------------------------------------------
  5.1 ve PHP4 sürümlerinden önceki PHP sürümlerinde, değişiklik yapmak için başlık fonksiyonunu kullanmanız gerekir:
  -------------------------------------------------------------
  <?php
  header("Set-Cookie: hidden=value; httpOnly");
  ?>
  -------------------------------------------------------------

ASP
ASP'nin yerleşik nesnelerinde ilgili bir yöntem yoktur, bu yüzden bunu sadece bir çözüm olarak uygulayabilirsiniz:
  -----------------------------------------------------<%
‘**************************************************
'ASP çıkışı httponly cookie IE6.0 veya üzeri tarayıcı desteği
'WDFrogun
‘2009-04-15
'<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
‘**************************************************

'———-SetHttpOnlyCookie—————————————-
'Fonksiyon: Sadece HttpOnly Çerezlerini Ayarlayın
'Parametreler: expDate garantinin sona ermesi, 0 ayarlanmamış demektir ve geçmişte belirli bir zamana ayarlanması temizleme anlamına gelir
'argüman: alan boş (dize. Boş) belirlenmemiştir
‘——————————————————————-
Fonksiyon SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate)
Dim kurabiye
cookie=cookieName & "=" & Sunucu.URLEncode(cookieValue) & "; path=" & yol
If expDate <> 0 Then
cookie=cookie & "; expires=" & DateToGMT(expDate)
Sona Et

Alan alanı <> "" o zaman
cookie=cookie & "; domain=" & domain
Sona Et

cookie=cookie & "; Sadece HttpOnly"

Call Response.AddHeader ("Set-Cookie", cookie)
Son Fonksiyon

'————-GMTTime al————
'Parametreler: sDate, GMT'ye dönüştürülmesi gereken zamandır
‘———————————
Function DateToGMT(sDate)
Gün dHafta, dAy
Dim strZero,strZone
strZero="00"
strZone="+0800"
dWeek=Array("Güneş","Pzte","Salı","Wes","Perşembe","Cuma","Cumartesi")
dMonth=Array("Ocak","Şubat","Mars","Mayıs","Hazir","Ağus","Ekim","Kasım","Aralık")
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
Son Fonksiyon
' referans
'SetHttpOnlyCookie("cookieOnly1","onlyValue",".xxx.com","/",0)

%>

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




Önceki:Web uygulama güvenliğini Httponly ile iyileştirin
Önümüzdeki:SQL Server 2008 5120 ek veritabanında hata çözümü
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com