Snow Monkey Forms v9.0.0 をリリースしました

Snow Monkey Forms v9.0.0 の概要

変更

  • 入力画面の表示についても、確認画面や完了画面と同じく REST API で取得して表示する方式に変更
  • CSRF 対策の処理をリファクタリング
  • ファイルブロックにおいて、ファイルアップロード済みの場合は、解除するまでアップロードボタンを表示しないように変更

不具合の修正

  • snow_monkey_forms/auto_reply_mailer/is_sended フックで false を返した場合、必ず例外がスローされるのを修正
  • snow_monkey_forms/administrator_mailer/is_sended フックで false にした場合、必ず例外がスローされるのを修正
  • アンインストール時は wp-content/uploads/smf-uploads も消えるように修正

入力画面の表示についても、確認画面や完了画面と同じく REST API で取得して表示する方式に変更 / CSRF 対策の処理をリファクタリング

これまでトピックや X で「Snow Monkey Forms でメール送信しようとすると「不正なアクセスです」と表示されて送信ができない」と投稿されることがありました。

Snow Monkey Forms は外部から不正なメール送信に利用されないように、フォームの表示時にトークンを生成・埋め込みして、送信されたときにその生成したトークンとフォームから送られてきたトークンが一致したら正しいアクセス、一致しなければ不正なアクセスと判断して送信を中断するという仕様になっています。

「Snow Monkey Forms でメール送信しようとすると「不正なアクセスです」と表示されて送信ができない」と書かれている方の環境は WP Super Cache 等のプラグインでページキャッシュしていることが多そうだったので、古いトークンが埋め込まれたフォームがキャッシュされることにより「不正なアクセス」が発生しているのかなと考えました。

ということで、普通にフォームを出力して表示すると当然ページキャッシュされてしまうので、普通に表示する形ではなく、ページが表示されたら REST API 通信を行い、フォームの入力画面を取得してきて表示する、という形に変更しました。これでページキャッシュされているページでもちゃんと正しいトークンが埋め込まれたフォームが表示される…はず!

もしアップデートしてもまだ「不正なアクセス」となって送信できないという場合は、サポートフォーラムやオンラインコミュニティで詳しく話を聞かせていただけると大変助かります。よろしくお願いします!

この記事を書いた人

アバター画像

キタジマ タカシ

長崎県長崎市在住。地元のWeb制作会社でWebデザイナー/エンジニアとして従事した後、2015年にフリーランス [ モンキーレンチ ] として独立。WordPress のテーマやプラグイン、ライブラリ、CSS フレームワーク等、多数のプロダクトをオープンソースで開発・公開しています。

Snow Monkey オンラインコミュニティ

Snow Monkey をより良いテーマにするために、今後の機能開発等について情報共有したりディスカッションをしたりする場所です。より多くのユーザーの交流があったほうがより良いプロダクトに育っていくと思いますので、ぜひご参加ください!