• ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

ALAKI株式会社

COZIKEEいつまでも使えるTech情報発信ブログ

リクルートサイトはこちら >

Laravelで、フォームが動かないときの対処法

2018年9月10日

  • このエントリーをはてなブックマークに追加

こんにちは、Webプログラマの篠田です。

Laravelで、フォームを作成したときに、うまく次の画面が表示されないという現象が発生することがあります。

今日は、その1つの原因について、まとめていきます。

この記事の目次

  • 1 開発環境
  • 2 症状
  • 3 原因
  • 4 CSRF対応方法
  • 5 まとめ

開発環境

・Laravel5.6
・Twig2.x

症状

症状としては、フォーム画面で「submit」ボタンをクリックすると下記のようなメッセージが表示されました。

1
2
The page has expired due to inactivity.
Please refresh and try again.

エラーを翻訳する

表示されたメッセージをGoogle翻訳に通したところ、下記のようなメッセージということがわかりました。

1
2
ページが非アクティブなために期限切れになっています。
リフレッシュしてもう一度お試しください。

どうやらPOST先が、有効期限切れを起しているようです。

セッションは使っていないので、有効期限切れを起こすようなものはないはず…..

原因

実は、セッション以外にも「有効期限」が設けられている設定があります。
それが「CSRF(クロス・サイト・リクエスト・フォージェリ)」のトークン設定です。

CSRFとは

CSRFとは、本来経由しないといけないフォームを経由せずに、データを登録される攻撃のことをいいます。

CSRF設定がどう影響したのか

Laravelでは、初期設定で「CSRF」トークンの有効チェックが、ミドルウェアで行われます。

ミドルウェアチェック時に、「CSRF」トークンの有効期限が切れていると、それ以降の処理をすべて停止します。

そして、先程のメッセージ「The page has expired due to inactivity. Please refresh and try again.」が表示されるという仕組みです。

CSRF対応方法

対応方法は、POST送信するformタグの中に「CSRF」トークンをhiddenデータとして送ることで解決します。

具体的にどのようにして「CSRF」トークンを設置するかというと、Twig側で「csrf_field()」という関数を呼び出すだけでOKです。

XHTML
1
2
3
4
<form action="/complete/" method="post">
{{ csrf_field() }}
<button type="submit">送信</button>
</form>

tiwgが出力するソースコードをみると下記のように表示されます。

XHTML
1
2
3
4
<form action="/complete/" method="post">
<input type="hidden" name="_token" value="aADWx0ouaqEr3GZSSKIutk9TwAHr0ArxxVKwOyAH">
  <button type="submit">送信</button>
</form>

これで、フォームに「CSRF」対策が施されたので、フォームを送信することができるようになります。

まとめ

Laravelの「初期設定」に、悩まされてしまいましたが「CSRF」対策を簡単にできる仕組みは魅力的ですね。
※Laravelに限った話ではないですが..

癖を知っていれば、回避できる問題なのでこの機会に是非、覚えてみてはどうでしょうか。

 


現場の業務フローに寄り添ったWebシステムをお求めなら、私たちALAKIにご相談ください。

ALAKIは経営者様が感じている問題点と、実際にWebシステムを利用される現場スタッフ様が直面している課題を、弊社システムエンジニアが丁寧に聞き取り、お客様と共にシステムを作り上げていきます。
業務改善が実現できるWebシステムをお求めの方は、是非ALAKIにご相談ください。

・ALAKIのWebシステム開発

・ALAKIのクラウド型受発注システム

  • ツイート
  • このエントリーをはてなブックマークに追加

You may also like...

  • 13993703_xxl

    twig30分クッキング-テンプレート編(1)-

    12 8月, 2016

  • 57520c888e69e9c333ba30b67fcc0f79_m

    「gzip圧縮」でWebサイトを高速化しよう!【mod_rewrite編】

    15 12月, 2017

  • 13993703_xxl

    HTMLでPHPを動かしたいという無茶を言われた時に見るメモ

    20 5月, 2016

プログラマー募集
  • Next story 8thWallが8thWallWebを発表!WebブラウザからでもマーカーレスARが体験可能に
  • Previous story Unity + ARkitで始める、初心者のためのAR開発

弊社サービス

MONJI+ MUGHEN ALAKI クラウド型受発注システム さよなら過去のAR。WebARがイベント集客に革命を起こします。

運営会社

ALAKI株式会社 ALAKI株式会社採用サイト

人気の記事

  • alaki1462_A_businessman_who_works_logically_1da80a2e-c297-4911-bdd6-feba0ebf1357

    仕事術

    【書籍要約】数学的な仕事術大全

    4 11月, 2024

  • fv-main-img-min

    空間コンピューティング

    世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました

    22 6月, 2023

  • Virtual reality players isometric vector illustration. VR UI and navigation. Futuristic digital technology. Virtual screen. Mixed reality 3d concept. Person in VR headset. Web banner idea

    AR

    Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ

    6 6月, 2023

  • AWE

    未分類

    ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!

    26 5月, 2023

  • python-logo-master-v3-TM

    pyhotn / 業務効率化

    「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

    2 2月, 2023

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

アーカイブ

  • 2024年11月
  • 2023年6月
  • 2023年5月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年2月
  • 2021年12月
  • 2021年9月
  • 2021年7月
  • 2021年6月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年6月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年12月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年8月
  • 2017年7月
  • 2017年6月
  • 2017年4月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2013年10月
  • 2013年9月

Facebook

お問い合わせ

お問い合わせ

人気の記事

  • 【書籍要約】数学的な仕事術大全
  • 世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました
  • Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ
  • ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!
  • 「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

検索

ALAKI株式会社 © 2025. All Rights Reserved.