teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

最終的な回答

2018/06/28 00:40

投稿

fujijun
fujijun

スコア38

answer CHANGED
@@ -10,4 +10,17 @@
10
10
  (Laravelのバージョンが分からないので、とりあえず5.5のリンクを提示します。)
11
11
 
12
12
  このCSRF保護機能を利用していただくことで、簡単に実装できるという認識です。
13
- もしも標準機能で足りない場合は、自身でカスタマイズする必要があります。
13
+ もしも標準機能で足りない場合は、自身でカスタマイズする必要があります。
14
+
15
+ <追記: 6/28 9:40頃>
16
+ \App\Exceptions\Handlerクラスのrenderメソッドを、以下のように改修してください。
17
+ ```PHP
18
+ public function render($request, Exception $exception)
19
+ {
20
+ if ($exception instanceof \Illuminate\Session\TokenMismatchException) {
21
+ return // CSRF違反時に行いたい処理をここに記載する。
22
+ }
23
+
24
+ return parent::render($request, $exception);
25
+ }
26
+ ```

1

回答内容の追記

2018/06/28 00:39

投稿

fujijun
fujijun

スコア38

answer CHANGED
@@ -2,4 +2,12 @@
2
2
 
3
3
   「POSTでリクエストした際に、標準のCSRFエラー(TokenMismatchException例外)が発生した場合の専用画面を設けたい」
4
4
 
5
- といったイメージでしょうか。
5
+ といったイメージでしょうか。
6
+
7
+ <追記: 6/26 12:55頃>
8
+ Laravelでは標準でCSRF保護機能があります。
9
+ https://readouble.com/laravel/5.5/ja/csrf.html
10
+ (Laravelのバージョンが分からないので、とりあえず5.5のリンクを提示します。)
11
+
12
+ このCSRF保護機能を利用していただくことで、簡単に実装できるという認識です。
13
+ もしも標準機能で足りない場合は、自身でカスタマイズする必要があります。