JsonRequestBehavior
を理解するJSON データを返す ASP.NET MVC コントローラーを構築する場合、JsonRequestBehavior
を理解することが重要です。 [HttpPost]
属性を使用すると HTTP GET リクエストが制限されますが、完全な解決策ではありません。
JsonRequestBehavior
デフォルト設定 JsonRequestBehavior.DenyGet
は、JSON ハイジャックに対する重要なセキュリティ対策です。 この攻撃は GET リクエスト内の JSON データを悪用し、機密情報への不正アクセスを可能にします。
GET リクエスト経由で JSON を返すときに JsonRequestBehavior.AllowGet
を明示的に設定すると、このリスクを認識し、開発者にリスクを軽減する責任が課されます。
JsonRequestBehavior
次の例を考えてみましょう:
[HttpPost] public JsonResult Foo() { return Json("Secrets"); }
[HttpPost]
は GET リクエストを阻止します。 ただし、特定の条件下で GET リクエストを許可する必要がある場合:
public JsonResult Foo() { return Json("Secrets", JsonRequestBehavior.AllowGet); }
これにより、GET リクエストが明示的に許可され、セキュリティ上の考慮事項が強調されます。 API アクセスをより詳細に制御できます。
JsonRequestBehavior
はセキュリティを強化しますが、面倒に思えるかもしれません。 ただし、DenyGet
デフォルトでは脆弱性から保護されます。
機密性のないデータを返すアクションの場合は、JsonRequestBehavior.AllowGet
を使用した GET リクエストを許可することが一般的に許容されます。 ただし、機密データの場合は、JSON ハイジャックを防ぐことが最も重要です。
以上がなぜJSonRequestBehavior.AllowgetがASP.NET MVCで必要なのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。