固定ページの保存時、ブログの投稿時によく「CSRFトークンが不正または無効」エラーが出る

t.tateishi > 固定ページの保存時、ブログの投稿時によく「CSRFトークンが不正または無効」エラーが出る @ 2016/12/21 12:29
題名の通りなのですが、
固定ページを編集する時やブログを投稿する時、
内容に問題無いのもかかわらず、「CSRFトークンが不正または無効」の旨のエラーが表示されます。
仕方がないのでもう一度同じ内容の投稿をすると今度は問題ないのですが
頻度が3〜4回に1度程度発生する事もあり、楽観視できない頻度なので気になります。
セキュリティのため、ということは何となく分かるのですが、
企業様が使う時に「何で出るのか?」という質問に対して、まっとうな回答が必要となります。

そこで、たまに発生する「CSRFトークンが不正または無効」のエラーが出現する条件が知りたいです。
また、頻度が高く上記エラーを発生させたくない、というような対応策があれば
ご教示頂きたいです。

【補足】
hidden項目にCSRFトークンの値を保持しているのであれば、長時間編集時にエラーが起こるのだろうということは何となく分かりますが
3分も満たない投稿時間で起きるという場合もあり、原因が知りたいです。

■ レンタルサーバー名:sakura
■ 利用しているデータベース: [MySQL]
■ PHPスキル:PHPはわかりますがcakePHPが苦手です

ryuring > Re: 固定ページの保存時、ブログの投稿時によく「CSRFトークンが不正または無効」エラーが出る @ 2016/12/24 16:42
こんにちは。

3系と4系の両方にて「CSRFトークンが不正または無効」エラーの再現について調査しました。

通常の操作を行う上では再現できませんが、以下の操作を行った場合に再現する事が確認できています。

《3系》
・保存ボタンを2回以上連続でクリックする
・プレビューをクリックし、プレビューが表示される前に保存ボタンをクリックする

《4系》
・保存ボタンを2回以上連続でクリックする

おそらく、送信ボタンをダブルクリックされているのではないかと考えています。

理由については、トークンの更新が行われる前に送信されてしまい、偽装投稿とみなされエラーとなってしまうという事になります。
どちらの場合にしても、ボタンをクリックした直後にボタンを利用不可にする事が望ましいかと考えています。



Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

t.tateishi > Re: 固定ページの保存時、ブログの投稿時によく「CSRFトークンが不正または無効」エラーが出る @ 2016/12/26 17:19
ryuringさん、こんにちは。

ご返信ありがとうございます。
ダブルクリック時に発生するとのことですが、意図的にダブルクリックしてためしたところ、症状を再現できました。
ひとまずダブルクリック防止対応は必要そうですが
ダブルクリック防止対応後でも発生するようでしたら
再度提起させていただきます。

ご回答頂きありがとうございました。

■ レンタルサーバー名:sakura
■ 利用しているデータベース: [MySQL]
■ PHPスキル:PHPはわかりますがcakePHPが苦手です

GUSSAN > Re: 固定ページの保存時、ブログの投稿時によく「CSRFトークンが不正または無効」エラーが出る @ 2017/2/14 9:35
こんにちは。
本件でのダブルクリックによるCSRFトークン不正のエラー表示ですが、ダブルクリックという事象よりも、回線遅延による保存の遅延(ユーザー側から見るとページ更新の遅れ)で、つい、もう一度保存ボタンを押してしまうというケースが非常に多いのではないかと思っています。
ご指摘頂いている「ボタンをクリックした直後にボタンを利用不可」処理(押下後の利用不可時間の設定ができれば尚よいと思うのですが)のご検討を是非よろしくお願い致します。

baserCMSバージョン: 3.0.13
PHP:5.5
スマートURL: ON
レンタルサーバー名:lolipop
設置フォルダ:サブフォルダ
セーフモード:Off
データベース: MySQL
PHPスキル:D

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
15 人のユーザが現在オンラインです。 (15 人のユーザが フォーラム を参照しています。)

登録ユーザ: 1
ゲスト: 14