システム設定 > メール設定でCSRFエラーが出る

kumakichi > システム設定 > メール設定でCSRFエラーが出る @ 2017/6/6 0:43
お世話になります。
インストール後、管理画面 > システム設定 > メール設定関連で、必要内容を入力しテスト送信をすると、メールは送られますが、その後保存しようとしても、CSRFエラーで保存できず、その後管理画面へも入れなくなります。
#管理画面に入れなくなる件は、install.phpでBcApp.adminSslをfalseにして、http://で入れるようになりました。

どなたかお教えいただければ幸いです。

環境
OS:FreeBSD9.3
PHP:5.5.25
baserCMS 4.04

追記:エラー表示は、下記
不正なリクエストと判断されました。(type:csrf)CSRF対策によるエラーです。リクエストに含まれるCSRFトークンが不正または無効である可能性があります。

エラー: The request sent to the address '/admin/site_configs/form' was invalid.

追記:baserCMS3.0.14でも同様なエラーが発生します。メールは使えないの?
akillerbee > Re: システム設定 > メール設定でCSRFエラーが出る @ 2017/6/7 11:13
こんにちはakillerbeeです。

baserCMS4.0.4で確認したのですが再現できませんでした。
恐らく同じトークンを使いまわしていることで発生しているエラーかと思います。
ブラウザのデベロッパーコンソールなどでソースを見て頂いて360行目あたりの

<h2>基本項目</h2>


<form action="/cmsadmin/site_configs/form" novalidate="novalidate" id="SiteConfigFormForm" method="post" accept-charset="utf-8"><div style="display:none;"><input type="hidden" name="_method" value="POST"/><input type="hidden" name="data[_Token][key]" value="2b6b1070c30078d8e7ba00089b837ef9caeedb93874cae01cd31149ff73ff8259784543de0475417fa86f605b7d30eeef17dc5708658a643a1d2c62385b039e5" id="Token1253083071"/>


「data[_Token][key]」の「value」の値が「メール送信テスト」ボタンを押下する前と後で変化しますか?
もし変化してなければ何らかの理由でjsが読み込めていないもしくはajax通信でのトークンの再取得が失敗しているなどが考えられると思います。
kumakichi > Re: システム設定 > メール設定でCSRFエラーが出る @ 2017/6/7 16:27
お世話になります。

確認しましたが、送信前・送信後共に値に変化はありませんでした。
なお、「メール設定関連」に項目を入力して「保存」するとCSRFエラーが出ますが、ここに何もいれずに他の個所は普通に入力・保存してもエラーは出ず、保存されます。

なお、パーミッション等は確認済です。

よろしくお願いします。

追記:
使用ブラウザはGoogle Chrome58.0.3029.110(64-bit)ですが、Microsoft Edge25.10586.672.0でも同様のエラーになります。
Ajax通信で失敗していればメールも送信されない気はするのですが…
akillerbee > Re: システム設定 > メール設定でCSRFエラーが出る @ 2017/6/7 23:37
こんばんわakillerbeeです。

「メール送信テスト」ボタンを押下した後に「保存」ボタンを押下するとエラーが発生し保存できないということが当該事象ではないのでしょうか?
どういった手順で発生するかある程度正確に特定できますか?

確認しましたが、送信前・送信後共に値に変化はありませんでした。

変化がないということは「メール送信テスト」で使用したトークンが新しくなっていないということなので
その後「保存」ボタンを押下することで一度使ったトークンを再度使用しようとすることからエラーが発生しているのではないかと思っております。

Ajax通信で失敗していればメールも送信されない気はするのですが…

下記のようにAjax通信でトークン再取得を行っているようなのそのアクセスが失敗していないかが知りたいです。
XHR finished loading: GET "http://basercms.localhost:8888/admin/dashboard/ajax_get_token?requestview=false".



ブラウザのデベロッパーコンソールなどでjs等の読込や実行関連でエラーが発生していないか確認できますか?
kumakichi > Re: システム設定 > メール設定でCSRFエラーが出る @ 2017/6/8 11:10
引用:
お世話になります。


「メール送信テスト」ボタンを押下した後に「保存」ボタンを押下するとエラーが発生し保存できないということが当該事象ではないのでしょうか?
どういった手順で発生するかある程度正確に特定できますか?


「メール設定関連」を何もさわらず、他のところ(e.g.「WEBサイト名」「WEBサイトURL」…)を入力して保存してもエラーは出ません・
「メール設定関連」に入力して保存するとCSRFエラーになるのです。

ブラウザのデベロッパーコンソールなどでjs等の読込や実行関連でエラーが発生していないか確認できますか?

エラー等は出ていません。

よろしくお願いします。
akillerbee > Re: システム設定 > メール設定でCSRFエラーが出る @ 2017/6/8 14:03
こんにちはakillerbeeです。

質問ばかりで申し訳ないです。。
ちなみにデバッグモードで実行されていますか?
もしノーマルモードだったらデバッグモードにして「CSRFトークンエラー」の他に原因となるエラーが表示されていないか確認できますでしょうか。
WAFがあって有効化している場合はそちらも念の為無効化して試してみるなども検討ください。
kumakichi > Re: システム設定 > メール設定でCSRFエラーが出る @ 2017/6/9 8:15
お世話になります。

>ちなみにデバッグモードで実行されていますか?

原因不明ですが、解決しました。

手順としては、
1.ノーマルモードで設定していましたがデバッグモードにしていったん保存 → 正常に保存
2.その状態でメール関連設定で項目に入力、テストメール送信 → 正常に送信
3.このままの状態で保存 → 正常に保存
4.ノーマルモードに変更して保存 → 正常に保存

原因は、未だにわかっていません…
とりあえず次のステップに進みますので、追々わかりましたら投稿します。
#だめだった場合は、メールフォームを固定ページでPHPで作ってアップしようと思っていました…

ありがとうございました。
ログイン
ユーザー名:
パスワード:


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

検索

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

フォーラムガイド


関連リンク

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

登録ユーザ: 0
ゲスト: 7