Laravel 419 Page Expiredエラーは@csrfの5文字で解決

Laravelセキュリティ

Laravel上で作成したフォームでボタンを押したとき、ブラウザで次のエラーがでたときの対処法です。

419 | Page Expired

もしCSRF(シーサーフ)対策をしていないなら、それが原因。

フォームの中に@csrfと5文字入力するだけで解決します。

フォームタグの下あたりに入れてあげましょう。

CSRF(シーサーフ)とは

CSRFとは、クロスサイトリクエストフォージェリの略です。

これはWeb上の詐欺の手口のひとつ。

ユーザーのログイン情報を使って、ユーザーの名義で勝手にものを購入したり、投稿したりといった被害が報告されています。

詳しくはこちらのセキュリティリスクを解説したページをご覧ください。

CSRF(シーサーフ)対策はトークンを使う

CSRF対策には、ワンタイムトークンを用います。

ワンタイムトークンとは1回限り有効な整理券みたいなもの。

Webアプリの中で、セッション中のユーザーにトークンを発行します。

ユーザーが投稿や購入などのためにボタンを押すときにも、トークンを発行します。

トークンがあっていればボタンを押せますが、間違っていると押せないようにします。

こうすることで、適切なセッション情報がないユーザーがフォームボタンを実行するのを防げます。

laravelではCSRF対策が手軽にできる

Webアプリのフォームにトークン発行や認証の仕組みを作るのは面倒です。

ですがLaravelなら、表示用のビューファイルのフォーム内に@csrfと入力するだけでOK。

こちらが、上記のファイルをブラウザ上で表示させたもの。

ブラウザだけ見ると分かりませんが、ソースコードを見ると、ちゃんと@csrfを入れた場所にトークンが入っています。

もし入力し忘れてしまった場合には、今回のようなページの期限切れエラーが表示されるので安心です。

このシーサーフ対策以外にも、Laravelでは、以下のようなセキュリティ機能を手軽に搭載できます。

  • エスケープ処理
  • ユーザーによって表示や動作を切り替える仕組み
  • メールによるユーザー認証

Laravelはセキュリティレベルの高いWebアプリを効率よく作れるように設計されているのです。

とはいえ、そもそもWebアプリ開発の知識がなければ、こういった仕組みも使いこなせませんよね。すると、せっかくのLaravelの機能を活かせず、また、セキュリティレベルが低い状態でユーザーの情報を取り扱うことになってしまいます…

そんなことにならないように、こちらの「初心者のためのLaravelの教科書」では、セキュリティやWeb開発の基本知識も含めて、Laravelの使い方を解説しています。

Laravelの教科書より抜粋①

先程あげた動作の制限や、認証機能の搭載方法についても分かりやすく説明しています。

Laravelの教科書より抜粋②

Laravelの使い方を習得しつつ、会員制フォーラムサイトを実際に作っていきます。

Laravelの教科書で作成する会員制サイトイメージ

「基本からLaravelの使い方を習得したい」

と思ったら、こちらをクリックして、詳細を見てみてくださいね。学習サイトの登録は無料です。

Laravelの教科書の詳細を見る

Laravelセキュリティ Laravel・PHP豆知識・トラブル対策

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新のLaravel10版テキストに加え、Laravel8版・Laravel9版もご用意しています♪

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravel10対応

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる


Laravelの教科書限定コミュニティ【Laravelの教科書ラボ】はじめました。
セミナーで、StripeやChatGPT連携、デバックなど実践スキルを分かりやすく学べます。

ラボの案内を見てみる

Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました