SORU
11 Aralık 2011, Pazar


JsonRequestBehavior neden gerekli?

Neden Json Request Behavior gerekli?

Eğer benim eylem HttpGet isteklerini kısıtlamak istiyorum [HttpPost] niteliğiyle eylem dekore edebilirim

Örnek:

[HttpPost]
public JsonResult Foo()
{
    return Json("Secrets");
}

// Instead of:
public JsonResult Foo()
{
    return Json("Secrets", JsonRequestBehavior.AllowGet);
}

Neden mi [HttpPost]yeterli değil mi?
Neden çerçevesinde, "böcek" var JsonResult her. JsonRequestBehavior.AllowGet bize Eğer istekleri reddetmek almak istiyorsam HttpPost öznitelik ekleyeceğim.

CEVAP
11 Aralık 2011, Pazar


Bu verileri HTTP GET bu JSON istekleri ile çok özel bir saldırıya karşı korumaktır.

Eğer eylem yöntemi hassas veri döndürmek değil, temelde, daha sonra izin almak için güvenli olmalıdır.

Ancak, MVC varsayılan bu saldırıya karşı sizi korumak DenyGet ile koyar.Ortaya çıkardığınız şeylere, siz düşünün yaparkarar vermeden önceHTTP üzerinden maruz kalmaktadır.

Güncelleme

Benim Arada gelen ASP.NET MVC3 kitabı:

Varsayılan olarak, ASP.NET MVC çerçevesi, size yanıt vermek için izin vermez bir HTTP, JSON taşıma isteği. Eğer JSON göndermek için ihtiyacınız varsa bir yanıt ALMAK, açıkça tarafından davranışa izin vermek gerekir JsonRequestBehavior kullanarak.AllowGet Json için ikinci parametre olarak yöntem. Ancak, kötü amaçlı bir kullanıcı erişim kazanmak için bir şans var JSON bir süreç JSON Kaçırma olarak bilinen yük. Değilsiniz hassas bir bilgi talep GİR JSON kullanarak iade etmek istiyorum. İçin daha fazla bilgi, bkz: Phil yazılan http://haacked.com/archive/2009/06/24/json-hijacking.aspx/.

Haack, Phil (2011). MVC 3 (Arada Programcı profesyonel ASP.NET Programcı) (Kindle Konumları 6014-6020). Arada. Kindle Sürümü.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006
  • Kap Slap

    Kap Slap

    8 Mart 2010
  • stewmurray47

    stewmurray47

    1 Kasım 2006