408 votes

Pourquoi faut-il JsonRequestBehavior ?

Pourquoi est `` nécessaire ?

Si je veux limiter la prie de mon action je peux décorer l’action avec le attribut

Exemple :

Pourquoi n’est pas suffisamment ? Pourquoi le cadre des « bugs » nous avec la pour chaque que nous avons. Si je veux nier obtenir les demandes, je vais ajouter le attribut.

287voto

danludwig Points 19213

C'est pour protéger contre une attaque spécifique avec JSON requêtes qui retournent des données à l'aide de HTTP GET.

En fait, si votre méthode d'action ne renvoie pas de données sensibles, alors il doit être sûr pour permettre à l'obtenir.

Cependant, MVC met avec DenyGet comme valeur par défaut pour vous protéger contre cette attaque. Il vous fait envisager les implications de ce que les données que vous exposez, avant de vous décider à l'exposer sur HTTP GET.

Mise à jour

De mon Wrox ASP.NET MVC3 livre:

Par défaut, l'ASP.NET framework MVC ne vous permet pas de répondre à une demande HTTP GET avec une charge utile JSON. Si vous avez besoin d'envoyer JSON réponse à OBTENIR un, vous devez autoriser explicitement le comportement par à l'aide de JsonRequestBehavior.AllowGet que le deuxième paramètre pour le Json la méthode. Cependant, il ya une chance qu'un utilisateur malveillant peut accéder à la charge utile JSON à travers un processus connu sous le nom JSON Détournement. Vous n'avez pas souhaitez retourner des informations sensibles à l'aide de JSON dans une requête GET. Pour plus de détails, voir Phil poste à http://haacked.com/archive/2009/06/24/json-hijacking.aspx/.

Haack, Phil (2011). Professionnel ASP.NET MVC 3 (Wrox Programmeur Programmeur) (Kindle Endroits 6014-6020). Wrox. L'Édition Kindle.

8voto

Deepakmahajan Points 387

Par défaut Jsonresult « Deny get »

Supposons que si nous avons la méthode comme ci-dessous

Par défaut, il « Nie Get ».

Dans la méthode ci-dessous

Lorsque vous avez besoin à allowget ou utilisez get, nous devons utiliser JsonRequestBehavior.AllowGet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X