0

環境

VS 2019 ですぐに使えるテンプレートから新しい ASP.NET Core Razor ページ アプリケーションを作成した後、最も純粋なモデル クラスを使用した最も純粋な html フォームでさえ、出力を次のようにレンダリングすることに気付きました。<input name="__RequestVerificationToken" type="hidden" value="...">

質問

ASP.NET Core に偽造防止を追加するように指示する明示的な属性/ステートメントがどこかにありますか、それとも現在はこれが既定になっていますか? (これにより、使用が[AutoValidateAntiforgeryToken]廃止されます)

...また...

それは常に無条件<input name="__RequestVerificationToken" type="hidden" value="...">レンダリングされるものであり、それに対してサーバー側の検証を有効にできますか? この場合、検証が有効かどうかをテストするにはどうすればよいですか?[AutoValidateAntiforgeryToken]

サンプルコード

@page
@model TestFormModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <form method="post">
        <input type="text" name="myinput"/>
        <input type="submit" value="Submit" />
    </form>
</div>

//[AutoValidateAntiforgeryToken]
public class TestFormModel : PageModel
{
    private readonly ILogger<TestFormModel> _logger;

    public TestFormModel(ILogger<TestFormModel> logger)
    {
        _logger = logger;
    }

    public void OnGet()
    {

    }

    public void OnPost()
    {

    }
}
4

1 に答える 1