にCSRFトークンを生成します。そこで私はいくつかのチュートリアルやデモプロジェクトを見てきました。これは、最も興味深いものだった:https://github.com/alexdebril/slim-angular私はCSRFの実装に問題があるのボックスのうちPHPスリムフレームワークでは、現在、私はfronendなどのバックエンドとangularJSなどスリムでウェブサイトを構築しようとしている各接続
。このプロジェクトでは、すべての接続に適用するために、CSRF保護がミドルウェアに実装されています。良いかどうかは無関係です。
コンポーザーとnpmにすべての依存関係をインストールすると、すべてのサーバー接続がPHPセッションに格納される新しいCSRFトークンを取得するため、プロジェクトは正常に動作しません。
だから、このプロジェクトのメインページで、サーバーへのCSRFトークンで固定文字列を送信します、角の形があります。その後、サーバーは同じ文字列で応答し、角度コントローラはそれを出力します。最初にフォームを送信すると、すべて正常に動作しますが、2回目の送信では、サーバーにはエラーが400で返されます。角度がまだない新しいcsrfトークンがあるためです。
しかし、この例のプロジェクトの作成者は、彼は、このようなエラーを可能性がなされていませんでしたか?なぜ私のapacheは、同じユーザーとの各接続に対して新しいcsrfトークンを作成しますか?どうすればこの問題を解決できますか?
私の依存関係:
スリム\スリムv3.8.1
スリム\のCSRFのv0.7.0
角度v1.6.4(ルート、アリア、材料、UI-ブートストラップ、クッキー、HTTP-AUTH-インターセプター)
どのようにして各ユーザーに1つのCSRFトークンを持たせることができますか?
最新のCSRFトークンを常に使用するために、どのようにトークン化サービスを更新する必要がありますか?それともウォッチャーが必要ですか?これを検出するには?
slim-angularのドキュメントでは、各リクエストをトークン化する方法について説明しています。 [slim-angular Tokenizerの例](https://github.com/alexdebril/slim-angular#tokenizer)を参照してください。 – georgeawg