2016-08-23 11 views
3

私はこの質問をします。なぜなら、クライアントサーバーアプリケーションでは、サーバーは、要求ごとに異なるトークンをフォームに隠してhtmlを送信するからです。このトークンは、秘密鍵でサーバー上に構築されます。角度2 - 角度2でcsrfトークンを使用するのは理にかなっていますか?

しかし、角度2のすべてのフォームはすでにクライアントにあります。フォームには、秘密鍵が必要なトークンが含まれているため、クライアントにはそれがあります。それはすでに私がセキュリティ違反になっていることです。

したがって、角度2でcsrfトークンを使用することが理にかなっているのでしょうか?答えが「はい」の場合、どうすればこのことができますか?

+1

[Angular 2(beta)がXSSまたはCSRFでどのように処理するのですか?](http://stackoverflow.com/questions/36594516/how-does-angular-2-beta-handle-with-xss- or-csrf) –

答えて

3

角2には、double-submit cookie patternとして知られているCSRF/XSRF軽減戦略が含まれています。 Angular documentationから

Angular httpクライアントには、この手法が組み込まれています。デフォルトのCookieXSRFStrategyはXSRF-TOKENという名前のCookieを検索し、すべての要求に対してそのCookieの値を持つX-XSRF-TOKENという名前のHTTP要求ヘッダーを設定します。サーバーは、XSRF-TOKENのCookieを設定し、各状態変更要求の応答ヘッダーを検証する必要があります。

したがって、httpサービスを使用している場合は、CSRF保護を取得するために、角側に何も追加する必要はありません。サーバは、ヘッダとクッキーの値が同一であることをチェックする必要があります。

+0

こんにちはネイト、私はログインして、私のアプリでフォームを送信し、サーバーにあった要求をキャッチし、 "csrf"または "XSRF"という単語で何も見つかりません。だから、クッキーに見えましたが、PyCharmに関連しています。もしCSRF保護がAngular 2であれば、それをどのように活性化するのですか? – rafaelcb21

+1

@ rafaelcb21バックエンドとは何ですか?私はあなたのバックエンドサーバー環境と関連するコードの詳細と別の質問を投稿することをお勧めします。 –

関連する問題