ASP.NET Core2.0の偽造防止Cookie

ボジャン

私は偽造防止がどのように機能するかを正確に理解しようとしてきました。私を混乱させるのは、作成されたCookieです。私の理解では、フォームに偽造防止トークンを含め、リクエストが行われたときにそのトークンを検証します。このように、サードパーティのWebサイトがあなたのWebサイトに投稿した場合、それは拒否されます。

今、私はここhttps://docs.microsoft.com/en-us/aspnet/core/security/anti-request-forgery?view=aspnetcore-2.1読んでいますが、偽造防止トークンはCookieに保存されています。これを間違って読んでいますか?しかし、なぜ?これの全体的なポイントは、この値をWebサイトの外部からアクセス可能にしないことではありませんか?私のクッキーを見ると、名前に偽造防止剤を使用して作成された3つのクッキーがあります。

services.AddAntiforgery(options => 
{
    options.CookieDomain = "contoso.com";
    options.CookieName = "X-CSRF-TOKEN-COOKIENAME";
    options.CookiePath = "Path";
    options.FormFieldName = "AntiforgeryFieldname";
    options.HeaderName = "X-CSRF-TOKEN-HEADERNAME";
    options.RequireSsl = false;
    options.SuppressXFrameOptionsHeader = false;
});

ちょっとしたテストをして、偽造防止トークンを含む投稿フォームを作成し、それを送信してみたところ、うまくいきました。次に、トークンなしで別のフォームを作成しましたが、失敗しました。だから私には、フォームで渡されたトークンだけを探すようですが、Cookieは何のためのものですか?

クリス・プラット

偽造防止は2つの部分からなるプロセスです。ページが生成されると、トークンがフォームの一部として含まれるため、残りのデータと一緒に投稿されます。物事のクライアント側のために、クッキーが設定されます。ポストが行われると、クライアントは、(トークンを含む)後のデータとのリクエストを送信し、それはまた、トークンが含まれ、サーバーへのクッキーのバックを送信します。サーバー側では、投稿されたトークンはCookieトークンと照合され、2つが一致しない場合は拒否されます。

クライアントが両方を投稿しているため、これは奇妙に思えるかもしれませんが、Cookieの部分により、ページを取得した同じクライアントが、ページを送り返す同じクライアントでもあることが保証されます。目標は、偽造防止トークンを保護することではなく、詐欺師が再作成したページではなく、サイト上のページが送信されたページであることを確認することです。サードパーティはドメインにCookieを設定できないため、リクエストしてトークンを解析することでページから有効なトークンを取得できたとしても、チェックのこの部分を偽造することはできません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ASP.NET Core2 +のILoggerとDependencyInjection

分類Dev

ASP.NET Core2のweb.config

分類Dev

ASP.Net Core2複数のコントローラー

分類Dev

ASP.Net Core2のグローバル変数

分類Dev

asp.net core 1.1 角度 2/4 の偽造防止

分類Dev

ASP.NET Coreで偽造防止Cookieを使用しますが、デフォルト以外のCookieNameを使用します

分類Dev

ASP.NET Core2のさまざまな領域の認証とLoginPath

分類Dev

ASP.NET Core2の構成オプションの問題

分類Dev

Asp.Net Core2のRoleManagerを使用したロールのシード

分類Dev

asp net core2でのDataAnnotationsのローカリゼーション

分類Dev

Asp.Net Core2でのトークンベースの認証

分類Dev

ASP.NET Core2のフォルダーを除外します

分類Dev

ASP.NET CORE2のBootstrap + SASSをGulpで更新しましたか?

分類Dev

ASP.NET CORE2から現在のユーザーを取得する

分類Dev

Asp.Net Core2ベアラートークンの検証

分類Dev

.NET Core2で同等のReadAsMultipartAsync

分類Dev

.NET Core2のStructureMapとProto.Actor

分類Dev

.NET Core2のSystem.Web.ApplicationServices

分類Dev

ASP.NET Core 2 MVC + EF Core2またはAngular5

分類Dev

Asp.Net Core2を実行しているWebapi2上のSerilogを使用したDIILogger

分類Dev

asp.net mvc core2選択値はビューモデルでは常に0です

分類Dev

ASP.NET Core2での同じタイプの複数のインスタンスの依存性注入

分類Dev

ASP.NET Core2のlayout.cshtmlでのLessファイルの使用とルーティング

分類Dev

ASP.NET Core2およびIdentityServer4での役割の欠落の主張

分類Dev

ASP.NET Core2のデフォルトの入力フォーマッター

分類Dev

ASP.NET Core2かみそりページでのファイルのアップロード

分類Dev

ASP.NET Core2タイプMicrosoftEntityFrameworkCoreDbContextのサービスを解決できません

分類Dev

ASP.Net Core2タイプのサービスを解決できません

分類Dev

EntityTypeBuilder <T> ASP.NET Core2エンティティフレームワークのOnDelete

Related 関連記事

  1. 1

    ASP.NET Core2 +のILoggerとDependencyInjection

  2. 2

    ASP.NET Core2のweb.config

  3. 3

    ASP.Net Core2複数のコントローラー

  4. 4

    ASP.Net Core2のグローバル変数

  5. 5

    asp.net core 1.1 角度 2/4 の偽造防止

  6. 6

    ASP.NET Coreで偽造防止Cookieを使用しますが、デフォルト以外のCookieNameを使用します

  7. 7

    ASP.NET Core2のさまざまな領域の認証とLoginPath

  8. 8

    ASP.NET Core2の構成オプションの問題

  9. 9

    Asp.Net Core2のRoleManagerを使用したロールのシード

  10. 10

    asp net core2でのDataAnnotationsのローカリゼーション

  11. 11

    Asp.Net Core2でのトークンベースの認証

  12. 12

    ASP.NET Core2のフォルダーを除外します

  13. 13

    ASP.NET CORE2のBootstrap + SASSをGulpで更新しましたか?

  14. 14

    ASP.NET CORE2から現在のユーザーを取得する

  15. 15

    Asp.Net Core2ベアラートークンの検証

  16. 16

    .NET Core2で同等のReadAsMultipartAsync

  17. 17

    .NET Core2のStructureMapとProto.Actor

  18. 18

    .NET Core2のSystem.Web.ApplicationServices

  19. 19

    ASP.NET Core 2 MVC + EF Core2またはAngular5

  20. 20

    Asp.Net Core2を実行しているWebapi2上のSerilogを使用したDIILogger

  21. 21

    asp.net mvc core2選択値はビューモデルでは常に0です

  22. 22

    ASP.NET Core2での同じタイプの複数のインスタンスの依存性注入

  23. 23

    ASP.NET Core2のlayout.cshtmlでのLessファイルの使用とルーティング

  24. 24

    ASP.NET Core2およびIdentityServer4での役割の欠落の主張

  25. 25

    ASP.NET Core2のデフォルトの入力フォーマッター

  26. 26

    ASP.NET Core2かみそりページでのファイルのアップロード

  27. 27

    ASP.NET Core2タイプMicrosoftEntityFrameworkCoreDbContextのサービスを解決できません

  28. 28

    ASP.Net Core2タイプのサービスを解決できません

  29. 29

    EntityTypeBuilder <T> ASP.NET Core2エンティティフレームワークのOnDelete

ホットタグ

アーカイブ