-
投稿者投稿
-
2025年4月7日 11:54 AM #144737
【お使いの Snow Monkey のバージョン】28.0.8
【お使いの Snow Monkey Blocks のバージョン】 23.1.3
【お使いの Snow Monkey Editor のバージョン】10.2.0
【お使いの PHP のバージョン】8.3.10
【お使いのブラウザ】
【当該サイトのURL】https://www.wellup-h2.com/contact/### 発生している問題
いつも大変お世話になっております。
これまで問題なく使用できていたのですが、Snow Monkey Forms の確認画面で「無効なアクセスです。」と表示されるようになりました。
キャッシュの削除や、cookieをオフにして試してみたのですが、解決しませんでした。
考えられる原因として何がありますでしょうか?ご多忙の中、大変恐縮ではございますが、ご教授いただけますと幸いです。
よろしくお願いいたします。### 試したこと
♥ 0いいねをした人: 居ません2025年4月7日 12:07 PM #144738ぱっとみた感じではページキャッシュの問題ではなさそうなので、とりあえずは地道に検証するしか無い気がします。無効なアクセスかどうかの処理をしている部分にログ出力を仕込んで、どのような値で処理が実行されているかを確認してみてください。
下記の変更を入れてからフォームの送信を実行することで、サーバーのエラーログにログが記録されます。
plugins/snow-monkey-forms/App/Model/Csrf.php
のpublic static function validate( $posted_token ) { if ( ! $posted_token ) { return false; } if ( ! preg_match( '|^[a-z0-9]+$|', $posted_token ) ) { return false; } $cookie_token = static::saved_token(); return ! is_null( $cookie_token ) && ! is_null( $posted_token ) && hash_equals( $cookie_token, $posted_token ); }
を
public static function validate( $posted_token ) { error_log( "validate:\n" ); error_log( $posted_token . "\n" ); if ( ! $posted_token ) { return false; } if ( ! preg_match( '|^[a-z0-9]+$|', $posted_token ) ) { return false; } $cookie_token = static::saved_token(); error_log( $cookie_token . "\n" ); return ! is_null( $cookie_token ) && ! is_null( $posted_token ) && hash_equals( $cookie_token, $posted_token ); }
に変更。
public static function validate_referer() { // phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $referer = isset( $_SERVER['HTTP_REFERER'] ) ? wp_unslash( $_SERVER['HTTP_REFERER'] ) : false; // phpcs:enable $homeurl = untrailingslashit( home_url( '/' ) ); return 0 === strpos( $referer, $homeurl ); }
を
public static function validate_referer() { error_log( "validate_referer:\n" ); // phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized $referer = isset( $_SERVER['HTTP_REFERER'] ) ? wp_unslash( $_SERVER['HTTP_REFERER'] ) : false; error_log( $referer . "\n" ); // phpcs:enable $homeurl = untrailingslashit( home_url( '/' ) ); error_log( $homeurl . "\n" ); return 0 === strpos( $referer, $homeurl ); }
に変更。
—
あ、あと、Snow Monkey Forms のバージョンもお願いします!
♥ 0いいねをした人: 居ません2025年4月7日 2:50 PM #144748ご返信ありがとうございます!
変更を入れてフォームの送信を実行したのですが、サーバーのエラーログというのはどちらで確認できますでしょうか?
契約しているサーバーはwpX Speedで、エラーログという項目には[Mon Apr 07 14:37:02.656799 2025] [fcgid:warn] [pid 19657] [client 112.69.162.153:45142] mod_fcgid: stderr: validate_referer:, referer: https://www.wellup-h2.com/contact/ [Mon Apr 07 14:37:02.656829 2025] [fcgid:warn] [pid 19657] [client 112.69.162.153:45142] mod_fcgid: stderr: https://www.wellup-h2.com/contact/, referer: https://www.wellup-h2.com/contact/ [Mon Apr 07 14:37:02.656832 2025] [fcgid:warn] [pid 19657] [client 112.69.162.153:45142] mod_fcgid: stderr: https://www.wellup-h2.com, referer: https://www.wellup-h2.com/contact/ [Mon Apr 07 14:37:33.990242 2025] [fcgid:warn] [pid 4155] [client 112.69.162.153:45564] mod_fcgid: stderr: validate_referer:, referer: https://www.wellup-h2.com/contact/ [Mon Apr 07 14:37:33.990325 2025] [fcgid:warn] [pid 4155] [client 112.69.162.153:45564] mod_fcgid: stderr: https://www.wellup-h2.com/contact/, referer: https://www.wellup-h2.com/contact/ [Mon Apr 07 14:37:33.990332 2025] [fcgid:warn] [pid 4155] [client 112.69.162.153:45564] mod_fcgid: stderr: https://www.wellup-h2.com, referer: https://www.wellup-h2.com/contact/ [Mon Apr 07 14:37:33.990337 2025] [fcgid:warn] [pid 4155] [client 112.69.162.153:45564] mod_fcgid: stderr: validate:, referer: https://www.wellup-h2.com/contact/ [Mon Apr 07 14:37:33.990342 2025] [fcgid:warn] [pid 4155] [client 112.69.162.153:45564] mod_fcgid: stderr: 3e4bf70d0fb3a369459d9fc10870ed9b42c68c55c722ee84357086aee2563215, referer: https://www.wellup-h2.com/contact/ [Mon Apr 07 14:37:33.990348 2025] [fcgid:warn] [pid 4155] [client 112.69.162.153:45564] mod_fcgid: stderr: 94bbffa23378f7774180aba9bbda4d257616fc858dc9e5e9f6a2e8c6bcd5f523, referer: https://www.wellup-h2.com/contact/
と記載があります。こちらのことでよろしいのでしょうか?
Snow Monkey Forms のバージョンは10.0.2になります!ご確認のほど、よろしくお願いいたします。
♥ 0いいねをした人: 居ません2025年4月7日 6:58 PM #144751最後の2行の文字列は送信されたトークンと保存されているトークンで、ここが一致しないと不正なアクセスと判定されてしまいます。
wpX Speed だと、サーバーキャッシュの設定があるようですが、これは有効になっていますかね?もし有効になっている場合、詳しい仕様がわからないので何ともなのですが、例えば PHP の出力もキャッシュするような仕様の場合はエラーになる可能性があるかもしれません。なので有効にしている場合は無効にして確認をお願いします。
♥ 0いいねをした人: 居ません -
投稿者投稿
- このトピックに返信するにはログインが必要です。