inquiryをアップデートでフォームの使用を禁止メッセージ 投稿する

投稿者:kamo  投稿日時:2025-04-03 17:29:41
いつもお世話になっております、kamoです。

soy CMSと inquiryをアップデートしたところ
お問い合わせページに
「フォームの使用を禁止しました。
再び使用できるようになるまでしばらくお待ち下さい。」と表示され、
URLがhttps://www.domein.com/request1?blockに変わってしまいます。

環境は、Xサーバー
PH7.4.33から8.2.22に変更
SOY CMS3.1.3.60から3.20.2
SOY Inquiry2.1.4から 2.9.4にアップしました。
Inquiryのテンプレートはカスタマイズしているので変更部分を直していますが
念のため、プログラム付属のテンプレートに変更してみましたが
結果は同じです。

解決策のご指導よろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2025-04-03 17:35:46
https://saitodev.co/article/2010
に記載されている内容が発動したようです。

記載されている内容に心当たりがなければ、inquiryのアップデート後に管理画面からデータベースの更新が実行されていない可能性があります。
投稿者:kamo  投稿日時:2025-04-03 17:55:49
ご指導ありがとうございます、kamoです。

バージョンアップ後、1回だけ送信テストをしようとしたら、表示されました。
また、inquiryのアップデート後に管理画面からデータベースの更新も実行しています。
このサイトには別にフォームがついているのですが、
そちらは依頼ページのリンクをクリックしただけで、
同様の「フォームの使用を禁止しました。 ・・・」のメッセージが表示されます。

前に開発頂いたステップフォームがサイトにありますが、
この辺もバージョンアップで影響しますでしょうか?
投稿者:齋藤毅  投稿日時:2025-04-03 18:14:22
SOY Inquiryの管理画面で設定>IPアドレス制限の設定の順で開いた時に回数制限の値は何になっていますか?
ここの数値が低い値で設定されていませんか?

前に開発頂いたステップフォームがサイトにありますが、この辺もバージョンアップで影響しますでしょうか?
コードを確認したわけではありませんので断言は出来ませんが、アクセス制限のコードは通過しないはずで関係ないと思います。
投稿者:kamo  投稿日時:2025-04-03 18:30:33
すみません、
SOY Inquiryの管理画面で設定>IPアドレス制限の設定の順で開いた時に回数制限の値は何になっていますか?
---------------
設定はしていませんし、「IPアドレス制限の設定」が見当たらない。
それからこれは違う問題かもしれませんが、今、管理画面でSOYCMS連携ボタンをクリックしたら
Deprecated: Creation of dynamic property TemplatePage::$id is deprecated in /home/domein/domein.com/public_html/scms/app/webapp/inquiry/pages/Form/TemplatePage.class.php on line 8

Deprecated: Creation of dynamic property TemplatePage::$form is deprecated in /home/domein/domein.com/public_html/scms/app/webapp/inquiry/pages/Form/TemplatePage.class.php on line 14
が管理画面に表示されました。
投稿者:齋藤毅  投稿日時:2025-04-03 18:37:57
お伝えした内容に誤りがありました。
「IPアドレス制限の設定」ではなく、「IPアドレス制限」になります。

もし、この設定画面がなければ、SOY Inquiryのアップデートに失敗しています。
FTPクライアントで再度SOY Inquiryのアップデートを行ってください。
投稿者:齋藤毅  投稿日時:2025-04-03 18:41:01
エラーメッセージは修正しました。
修正版は下記URLからダウンロードできます。
https://saitodev.co/soycms/soyinquiry/
投稿者:kamo  投稿日時:2025-04-03 19:09:16
修正版ありがとうございます。
アップしてみましたが、状態は変わりません。

また、CMSのページ一覧からフォームページへのブラウザ表示リンクをクリックすると
フォーム以外のページはOKですが、フォームページはこの段階で
「フォームの使用を禁止しました。・・・」の表示がされたページとなります。

なお、この件とは違いますがダイナミック編集は利用しませんが
ページのダイナミック編集リンクは以下エラーがすべてのページで表示がでます。
Warning: Undefined array key "SOYCMS_PAGE_ID" in /home/domein/domein.com/public_html/scms/common/logic/site/Page/PageLogic.class.php on line 291

CMSもバージョンアップが正しくできていない?のでしょうか。
今一度バージョンアップをやり直してみます。
投稿者:齋藤毅  投稿日時:2025-04-03 19:19:14
先にダイナミック編集の方のエラーなのですが、正直に申し上げますと自分で使っていない且つ古い機能はメンテナンスする余力がなく、動作確認すら出来ていません。

取り急ぎ、
/home/domein/domein.com/public_html/scms/common/logic/site/Page/PageLogic.class.php
の290行目付近の
default:
の下の行に
if(!isset($_SERVER["SOYCMS_PAGE_ID"])) $_SERVER["SOYCMS_PAGE_ID"] = 0;
の行を追加してみてください。

エラーは消えるはずです。
投稿者:齋藤毅  投稿日時:2025-04-03 19:21:17
「フォームの使用を禁止しました。・・・」の表示がされたページとなります。
上記の件ですが、SOY Inquiryをアップデートしても、データベースの方のアクセスの集計は消えませんので、フォームの使用は禁止されたままになります。

SOY Inquiryの管理画面で設定>IPアドレス制限の順で開いた時に回数制限の値は何になっていますか?
上記の設定内容は如何でしょうか?
まだ設定画面にアクセスできない状態でしょうか?
投稿者:kamo  投稿日時:2025-04-03 19:59:11
ダイナミック編集の方のエラーお教えいただいたコードを追加で
エラーがなくなりました。

また、設定画面に「IPアドレス制限」表示がでましたので設定を変更してみたところ
表示ができ、フォーム送信もうまくいきました。

IPアドレス制限の設定を何もしていない状態で
除外リスト欄は空欄、回数制限「30」回、使用制限の解除「3時間」の初期設定でしたが、
ここに今回は送信テストなので利用中のIPアドレスを除外に加え
回数を100、解除時間を1時間に変更後、テストしたら、
正常に表示ができました。

大変、お手数をお掛け致しました。
ご指導ありがとうございました。
投稿者:齋藤毅  投稿日時:2025-04-03 20:42:44
動作確認で30回もアクセスしたかが気になりますが、アクセスできるようになって良かったです
投稿者:kamo  投稿日時:2025-04-04 07:32:37
解決にご指導ありがとうございました。
なお、アップ後動作確認での入力は最初の1回目でメッセージが出てきてしまいました。
別のサイトでこんな現象は起きなかったので、焦りました。
サイトにフォームページは3つありますが、1つの単純な問い合わせページでの現象でした。

なお、このサイトのみの問題かと思うのですが、2つのフォームはOKなのですが
3つあるフォームページの内の1つ、
オリジナルのプラグインを利用したステップフォームページが、
使用禁止メッセージはでなくなったのですが、送信テスト中に
別問題が発生してしまったので、その件は別途ご連絡いたしますので、よろしくお願いいたします。
ログインして投稿する