JsonRequestBehavior
dans asp.net mvc Lors de la création de contrôleurs MVC ASP.NET qui renvoient les données JSON, la compréhension JsonRequestBehavior
est cruciale. Alors que l'utilisation de l'attribut [HttpPost]
restreint les demandes de GET HTTP, ce n'est pas une solution complète.
JsonRequestBehavior
Le paramètre par défaut, JsonRequestBehavior.DenyGet
, est une mesure de sécurité vitale par rapport au détournement de JSON. Cette attaque exploite les données JSON dans les demandes GET, permettant un accès non autorisé à des informations sensibles.
Définir explicitement JsonRequestBehavior.AllowGet
lors du retour de JSON via une demande GET reconnaît ce risque et place la responsabilité de l'atténuer sur le développeur.
JsonRequestBehavior
Considérez cet exemple:
<code class="language-csharp">[HttpPost] public JsonResult Foo() { return Json("Secrets"); }</code>
[HttpPost]
Empêche les demandes de recettes. Mais si vous devez autoriser les demandes à obtenir dans des conditions spécifiques:
<code class="language-csharp">public JsonResult Foo() { return Json("Secrets", JsonRequestBehavior.AllowGet); }</code>
Cela permet explicitement les demandes de GET, mettant en évidence les considérations de sécurité. Il offre un contrôle plus granulaire sur l'accès à l'API.
Bien que JsonRequestBehavior
améliore la sécurité, cela peut sembler lourd. Cependant, la valeur par défaut DenyGet
protège contre les vulnérabilités.
Pour les actions qui renvoient des données non sensibles, permettre aux demandes de GET avec JsonRequestBehavior.AllowGet
est généralement acceptable. Mais pour les données sensibles, la prévention du détournement JSON est primordiale.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!