Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


apricot:usage:ja:middleware

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:usage:ja:middleware [2020/08/24 12:22]
y2sunlight [Middleware の実装]
apricot:usage:ja:middleware [2020/09/03 13:46] (現在)
y2sunlight [Apricot ミドルウェア]
行 15: 行 15:
   * Apricot ミドルウェア   * Apricot ミドルウェア
   * [[apricot:usage:ja:controller|Apricot コントローラ]]   * [[apricot:usage:ja:controller|Apricot コントローラ]]
 +  * [[apricot:usage:ja:validation|Apricot バリデーション]]
   * [[apricot:usage:ja:provider|Apricot サービスプロバイダー]]   * [[apricot:usage:ja:provider|Apricot サービスプロバイダー]]
 +  * [[apricot:usage:ja:authentication|Apricot ユーザ認証]]
   * [[apricot:usage:ja:utility|Apricot ユーティリティ]]   * [[apricot:usage:ja:utility|Apricot ユーティリティ]]
  
行 254: 行 256:
 ==== CSRF対策 ==== ==== CSRF対策 ====
  
-このミドルウェアの目的は、CSRF対策です。発行してるCSRFトークンの検証に失敗した場合は、''TokenMismatchException'' をスローして[[apricot:usage:ja:errors-logging#集約例外ハンドラー]]に処理を委ねます。+このミドルウェアの目的は、CSRF対策です。発行してるCSRFトークンの検証に失敗した場合は、''TokenMismatchException'' をスローして[[apricot:usage:ja:errors-logging#集約例外ハンドラー]]に処理を委ねます。
  
 CSR対策を望まないコントローラーについては、そのクラス名を ''$exclude'' に登録して下さい。 CSR対策を望まないコントローラーについては、そのクラス名を ''$exclude'' に登録して下さい。
行 295: 行 297:
 </code> </code>
  
-''CsrfToken'' はApricotコアのクラスで次のメソッドを持ちます。+''CsrfToken'' はApricotコアのクラスで次の静的メソッドを持ちます。
  
 ^メソッド^機能^ ^メソッド^機能^
-|static\\ generate()|セッション内のCSRFトークンが未生成の場合、それを生成してセッションに格納します。| +|generate()|セッション内のCSRFトークンが未生成の場合、それを生成してセッションに格納します。| 
-|static\\ verify():bool|フォームの入力変数とセッションに格納されているCSRFトークンを比較して同じならtrueを返します。この機能はHTTPメソッドがPOSTの場合のみ有効です。GETの場合は常にtrueを返します。|+|verify():bool|フォームの入力変数とセッションに格納されているCSRFトークンを比較して同じならtrueを返します。こはHTTPメソッドがPOSTの場合のみ有効でGETの場合は常にtrueを返します。|
  
-フォーム内にCSRFトークンを入力変数として埋め込む方法については、「[[apricot:usage:ja:frontend#テンプレートの継承|フロントエンドのCSRF対策]]」を参照して下さい。+フォーム内にCSRFトークンを入力変数として埋め込む方法については、「[[apricot:usage:ja:frontend#テンプレートの継承|フロントエンドのテンプレートの継承]]」のCSRF対策の項を参照して下さい。
  
 アプリケーション設定( [[apricot:usage:ja:config#appphp_ファイル|config/app.php]] )の ''csrftrue.disposable'' が true の場合、CSRFトークンは使い捨てで、''verify()'' の後で削除され次の ''generate()'' で再生成されます。これが false の場合は、セッション中の間CSRFトークンの値は不変です。 アプリケーション設定( [[apricot:usage:ja:config#appphp_ファイル|config/app.php]] )の ''csrftrue.disposable'' が true の場合、CSRFトークンは使い捨てで、''verify()'' の後で削除され次の ''generate()'' で再生成されます。これが false の場合は、セッション中の間CSRFトークンの値は不変です。
apricot/usage/ja/middleware.1598239366.txt.gz · 最終更新: 2020/08/24 12:22 by y2sunlight