AI要約
WPFormsでフォームの保存やその他の操作を行う際に「403 Forbidden」エラーが表示されますか?
このエラーは通常、サーバーがセキュリティルールまたは設定ミスによりリクエストをブロックしたことを意味します。最初は分かりにくいかもしれませんが、いくつかの一般的な原因と明確な解決策を確認できます。
このガイドでは、WPFormsで403エラーが発生する最も一般的な理由と、そのトラブルシューティング方法を説明します。
403 Forbiddenエラーとは?
403エラーは、サーバーがリクエストを理解したが、それを許可しないことを意味します。WPFormsでこれが起こる場合、通常はWordPressまたはホスティングサーバーによってブロックされたフォームの送信または保存アクションに関連しています。
次のようなメッセージが表示される場合があります:
The form cannot be saved due to a 403 error
これは、AJAXリクエストを処理している場合、特にドロップダウンなどのフィールドを追加または保存する際に発生する可能性があります。
WPFormsで403エラーが発生する一般的な原因
- 期限切れまたは欠落したNonce:WPFormsは、リクエストが有効なセッションから来たことを確認するためにNonce(セキュリティトークン)を使用します。このトークンが欠落または期限切れの場合(ページキャッシュが原因であることが多い)、403エラーが発生する可能性があります。
- キャッシュおよび最適化プラグイン:WP Rocket、Autoptimize、LiteSpeed Cacheなどの最適化プラグインは、古いNonceトークンをキャッシュしたり、適切な検証に必要なスクリプトを遅延させたりすると、AJAXリクエストに干渉する可能性があります。
- サーバーレベルのセキュリティルール(ModSecurity):一部のホストは、ModSecurityのようなツールを使用して疑わしいリクエストをブロックします。場合によっては、「select」という単語を含む正当なリクエストがSQLインジェクションの試みとして誤って識別され、403エラーが発生することがあります。
- ファイルおよびフォルダの権限:サイトのファイル権限が正しく設定されていない場合、サーバーはWPFormsがバックグラウンドリクエストに使用する
admin-ajax.phpのような必要なファイルの実行をブロックされる可能性があります。 - プラグインまたはテーマの競合:WPFormsと他のプラグインまたはサイトのテーマとの競合も、リクエストの失敗を引き起こす可能性があります。セキュリティプラグインまたはログインプラグインがこれらの競合の最も一般的な原因です。
トラブルシューティングの手順
403エラーを特定して解決するために、次の手順を実行できます:
- サイトキャッシュのクリア
- ブラウザキャッシュとWordPressキャッシュプラグインの両方をクリアします。
- ホストがサーバーサイドキャッシュを提供している場合は、それもクリアするか、サポートに連絡してください。
- シークレットウィンドウまたは別のブラウザで試す
- これにより、ローカルキャッシュの問題やブラウザ拡張機能を特定できます。
- 最適化またはセキュリティプラグインを一時的に無効にする
- Autoptimize、Wordfence、LiteSpeed Cacheなどのプラグインを1つずつ非アクティブ化します。
- 各変更後、フォームが正常に保存または送信されるかテストします。
- ファイル権限の確認
- 通常、フォルダは
755の権限、ファイルは644の権限を持つ必要があります。 - 不明な場合は、ホスティングプロバイダーに連絡してください。
- 通常、フォルダは
- デフォルトテーマを使用し、他のすべてのプラグインを非アクティブ化する
- Twenty Twenty-Fourのようなデフォルトテーマに切り替えます。
- WPForms以外のすべてのプラグインを非アクティブ化してから、もう一度試してください。
- エラーが消えた場合は、競合の原因となっているプラグインを特定するために、1つずつ再度有効にしてください。
- ホスティングプロバイダーにModSecurityについて確認する
- 問題が解決しない場合は、ホスティングプロバイダーに連絡し、ModSecurityまたはその他のファイアウォールが
admin-ajax.phpへのリクエストをブロックしていないか確認してください。 - エラーメッセージを提供し、ドロップダウンフィールドを使用してWPFormsフォームを保存する際に403エラーが表示されることを説明してください。
- 問題が解決しない場合は、ホスティングプロバイダーに連絡し、ModSecurityまたはその他のファイアウォールが
- .htaccessルールを確認する
- 過度に厳格なセキュリティルールを探してください。標準的なWordPressの
.htaccessファイルは次のようになります。
- 過度に厳格なセキュリティルールを探してください。標準的なWordPressの
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
それでもヘルプが必要ですか?
上記の手順を実行してもエラーが表示される場合は、サポートチームの信頼できるアドバイザーにご連絡ください。以下の情報をお知らせください。
- 表示されている正確なエラーメッセージ
- エラーが表示されるタイミング(例:フォームの保存時または送信時)
- このガイドで既に試した手順
これで、WPFormsで403 Forbiddenエラーをトラブルシューティングする方法がわかりました。
次に、さらにトラブルシューティングのヒントを調べますか?これらの追加チュートリアルを確認してください。