管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生
h_noguchi > 管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生 @ 2017/8/17 11:18 |
---|
題名に記載の通り、管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生しました。
[詳細なエラー内容] ----------------- 追加に失敗しました。 (400) 不正なリクエストと判断されました。(type:csrf)CSRF対策によるエラーです。リクエストに含まれるCSRFトークンが不正または無効である可能性があります。 Error:The request sent to the address '/*******/content_folders/add' was invalid. ----------------- ※アドレス****の部分はユニークとしております。 ※発生するのは「ノーマルモード」時となり、「デバッグモード」時は発生致しません。 ※エラー発生時のスクリーンショット(一部抜粋)を添付しております。 以下は環境となります。 ■ BaserCMSのバージョン:4.0.5.2 ■ スマートURLの利用: [OFF] ■ 設置フォルダ: [ドキュメントルート] ■ 利用しているデータベース: [MySQL] ■ PHPスキル(自己評価): [ B 〜 C ] ■ OSの種類:CentOS Linux release 7.3.1611 (Core) ■ PHPのバージョン:5.6.31 ■ データベース種類・バージョン:MySQL 5.5.57 <2017/08/17 15:30 追記> こちらの環境ではsessionをDBに保存するように設定しています。 /app/Config/core.php -------------- Configure::write('Session', array( 'defaults' => 'php' )); -------------- ↓ -------------- Configure::write('Session', array( 'defaults' => 'database' )); -------------- DBにテーブル"*****_cake_sessions"を作成(****はプレフィックス) 構成は /app/Config/Schema/sessions.sql を参照 セッションをDBに登録するようにしてフォルダーの追加を実施しようとすると本事象が発生し、 セッションをphpに戻すと本事象は発生しませんでした。 |
akillerbee > Re: 管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生 @ 2017/8/18 12:30 |
---|
こんにちはakillerbeeです。
詳細に検証できていないので的はずれであれば申し訳ないのですが セッションの保存先をDBに変更することでセッションIDがBASERCMSからCAKEPHPに変わっていたりしますか? もしそのようなことがあれば下記のように追記して試してもらえると解消するかもしれません。
↓
|
katokaisya > Re: 管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生 @ 2017/8/18 12:33 |
---|
ryuring > Re: 管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生 @ 2017/8/20 13:04 |
---|
Twitter:@ryuring |
h_noguchi > Re: 管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生 @ 2017/8/21 15:55 |
---|
本件につきましてこちらの環境に適用してみましたが事象は回避されませんでしたのでお知らせとなります。
以下こちらで実施しました作業となります。 1.lib/Baser/webroot/js/admin/libs/jquery.bcTree.js の 110行目をPOSTからGETに修正 113行目を削除 116〜120行目を削除 2.上記更新後、管理画面の[ユーティリティ]より、アセットファイルの再配置処理を実施 3.js/admin/libs/jquery.bcTree.js が書き変わっている事を確認 4.念のため、管理画面の[ユーティリティ]より、サーバーキャッシュ削除を実施 5.再度ログインし直して[コンテンツ管理]よりフォルダー追加 → 事象発生 |
h_noguchi > Re: 管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生 @ 2017/8/28 9:51 |
---|
お世話になっております。
追加情報をお知らせ致します。 念のため baserCMS 4.0.6 の適用を実施してみましたが残念ながら事象は解消されませんでした。 発生しているエラー状況についてはこれまでお伝えしている内容と同一となります。 お手数ではございますがご確認のほどよろしくお願いいたします。 |
h_noguchi > Re: 管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生 @ 2017/9/13 14:34 |
---|
いつもお世話になっております。
本件につきまして追加情報をお知らせ致します。 ------ 1. トークン取得 /admin/dashboard/ajax_get_token?requestview=false 2. ツリー取得 /admin/contents/index/site_id:0/list_type:1 (ここでもトークンが発行されている) 3. トークン更新 /admin/dashboard/ajax_get_token?requestview=false ------ リクエストの順番はこのようになっているかと思いますが、 2と3の処理が非同期となってしまっているため、 3が先に終わってしまうと、2でセッションを保存する際に、 3で発行したトークンが消えてしまいエラーとなっているようです。 お手数ではございますがご確認のほどよろしくお願いいたします。 |
ryuring > Re: 管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生 @ 2017/9/15 12:25 |
---|
こんにちは。
引用: 2と3の処理が非同期となってしまっているため、 そうですね。調査をしていたときに、セッションの保存先がデータベースとなっている場合、トークンの処理が前後してしまうという現象を確認していました。 ただ、現状の開発環境では動作として再現できないので、再度、コードを見直してみますね。 Twitter:@ryuring |
ryuring > Re: 管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生 @ 2017/9/27 19:49 |
---|
こんばんは。大変お待たせしました。
Tokenの取得処理を Deferred を利用して見直し、同期処理に変更しました。 http://project.e-catchup.jp/issues/18267 よろしくお願いします。 Twitter:@ryuring |
ryuring > Re: 管理システムのコンテンツ管理よりフォルダーの追加を実施しようとすると「追加に失敗しました。」のエラーが発生 @ 2017/9/28 5:26 |
---|
Twitter:@ryuring |