このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
apricot:usage:ja:middleware [2020/08/24 11:51] y2sunlight [CSRF対策] |
apricot:usage:ja:middleware [2020/09/03 13:46] (現在) y2sunlight [Apricot ミドルウェア] |
||
|---|---|---|---|
| 行 15: | 行 15: | ||
| * Apricot ミドルウェア | * Apricot ミドルウェア | ||
| * [[apricot: | * [[apricot: | ||
| + | * [[apricot: | ||
| * [[apricot: | * [[apricot: | ||
| + | * [[apricot: | ||
| * [[apricot: | * [[apricot: | ||
| 行 84: | 行 86: | ||
| \\ | \\ | ||
| - | ===== Middleware の実装 ===== | + | ===== Middlewareの実装 ===== |
| Apricotのスケルトンで提供されているミドルウェアは、以下場所にの配置してあります。この配置は必須ではありません。適宜アプリケーションのルールで変更して下さい。 | Apricotのスケルトンで提供されているミドルウェアは、以下場所にの配置してあります。この配置は必須ではありません。適宜アプリケーションのルールで変更して下さい。 | ||
| 行 128: | 行 130: | ||
| </ | </ | ||
| - | === Middleware の設定 === | + | === Middlewareの設定 === |
| 新しく作成したミドルウェアは、アプリケーションの設定ファイル ''/ | 新しく作成したミドルウェアは、アプリケーションの設定ファイル ''/ | ||
| 行 254: | 行 256: | ||
| ==== CSRF対策 ==== | ==== CSRF対策 ==== | ||
| - | このミドルウェアの目的は、CSRF対策です。発行してるCSRFトークンの検証に失敗した場合は、'' | + | このミドルウェアの目的は、CSRF対策です。発行しているCSRFトークンの検証に失敗した場合は、'' |
| + | |||
| + | CSR対策を望まないコントローラーについては、そのクラス名を '' | ||
| {{fa> | {{fa> | ||
| 行 293: | 行 297: | ||
| </ | </ | ||
| - | '' | + | '' |
| ^メソッド^機能^ | ^メソッド^機能^ | ||
| - | |< | + | |generate()|セッション内のCSRFトークンが未生成の場合、それを生成してセッションに格納します。| |
| - | |count(string $name=null):int|エラー数の取得| | + | |verify():bool|フォームの入力変数とセッションに格納されているCSRFトークンを比較して同じならtrueを返します。これはHTTPメソッドがPOSTの場合のみ有効で、GETの場合は常にtrueを返します。| |
| + | |||
| + | フォーム内にCSRFトークンを入力変数として埋め込む方法については、「[[apricot: | ||
| + | アプリケーション設定( [[apricot: | ||
| \\ | \\ | ||