このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
apricot:ext:csrf [2020/05/24 15:44] y2sunlight [テスト実行] |
apricot:ext:csrf [2020/06/08 11:16] (現在) tanaka [ミドルウェア] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | > | ||
- | |||
- | ----- | ||
- | |||
====== Apricot CSRF対策 ====== | ====== Apricot CSRF対策 ====== | ||
--- // | --- // | ||
行 37: | 行 33: | ||
|static\\ generate()|セッション内のCSRFトークンが未生成の場合、生成してセッションに格納します。| | |static\\ generate()|セッション内のCSRFトークンが未生成の場合、生成してセッションに格納します。| | ||
- | これらのメソッドは[[# | + | これらのメソッドは[[# |
CsrfTokenクラスを以下に示します。 | CsrfTokenクラスを以下に示します。 | ||
- | {{fa> | + | {{fa> |
<code php CsrfToken.php> | <code php CsrfToken.php> | ||
<?php | <?php | ||
行 117: | 行 113: | ||
{{fa> | {{fa> | ||
- | <code php CsrfToken.php> | + | <code php VerifyCsrfToken.php> |
<?php | <?php | ||
namespace App\Middleware; | namespace App\Middleware; | ||
行 288: | 行 284: | ||
[{{apricot: | [{{apricot: | ||
■ 正常に保存できます。\\ | ■ 正常に保存できます。\\ | ||
- | ■ 先に修正しユーザ編集画面の@csrfディレクティブをコメントにして下さい。 | + | ■ 先に修正したユーザ編集画面の |
<div indent 60%> | <div indent 60%> | ||
行 306: | 行 302: | ||
[{{apricot: | [{{apricot: | ||
■ '' | ■ '' | ||
+ | ■ これは CSRFトークンがサーバーに送信されていないので発生する例外です。\\ | ||
+ | ■ 尚、本番用のエラー画面を出力したい場合は、.env の '' | ||
+ | |||
+ | <div indent 60%> | ||
+ | <code ini .env> | ||
+ | .... | ||
+ | APP_DEBUG=false | ||
+ | .... | ||
+ | </ | ||
+ | </ | ||
- | テスト後は、@csrf を元に戻しておいて下さい。 | + | テスト後は、'' |
\\ | \\ |