magento 2.3 invalid form key

無効なフォームキー Magento 2.3

Rate this article

Share this article

Magento 2検索設定ガイドで詳細情報をご覧ください。

Magento 2.3 無効なフォームキー

これは、Magento開発者が直面する最も一般的な問題の1つです。具体的には、Magento管理画面にログインできず、画面に「無効なフォームキー。ページをリフレッシュしてください」と表示されます。こちらがその解決策です。
Magento 2.3 無効なフォームキー

Magentoに検索バーを追加する

解決策:

この問題に対処する方法はいくつかあります:

1つ目の方法: ‘max_input_vars’を1000より大きく設定し、サーバー設定を変更する

まず、サーバーがDDOS攻撃にさらされないようにするため、このサーバー設定を変更せず、他の提案を適用してMagentoコントローラーを拡張します。ただし、この問題はコントローラーのカテゴリ保存メソッドだけを修正することでは解決できません。

数か月後、別の問題が発生しました – カテゴリを検索できなくなります。例えば、製品の位置を変更した場合など、カテゴリを検索しようとすると「無効なフォームキー。ページをリフレッシュしてください」というエラーが表示されます。

このエラーは、Ajaxを介した検索で渡されるはずのノンスキーが1k POST制限のために切り捨てられてしまうために発生します。そのため、キーのチェックを行うと存在しないと見なされ、検索を続行できません。結果として、検索を別のコントローラーのオーバーライドで修正するだけでなく、管理パネルのサーバー設定も変更する必要があります。

最終的に、Magentoのオーバーライドを実装する代わりに、WHMの.confに次の設定を追加して、管理用のmax_input_varを増やすことに決定しました:

<LocationMatch "/(index\.php/)?admin/">
  <IfModule mod_php5.c>
    php_value max_input_vars 75000
  </IfModule>
</LocationMatch>
2つ目の方法: 管理パネルにアクセスできない場合の設定削除

このエラーは、System > Configuration > Web > Cookiesのクッキー ドメインが実際のサイト ドメインと異なる場合にも発生する可能性があります。

管理パネルにアクセスできない場合に設定を削除するには、MySQLコンソールまたはphpMyAdminなどのクライアントで次のSQLクエリを使用します:

DELETE FROM core_config_data WHERE path='web/cookie/cookie_domain';

その後、キャッシュをクリアします。デフォルトのファイルベースのキャッシュバックエンドを使用している場合は、var/cache以下のすべてのディレクトリを削除してください。

管理パネルに再ログインできるようになったら、各ウェブサイトまたはストアの正しいクッキー ドメインを設定します(例:abc.com、www.abc.com、その他のサブドメインには .abc.com)。
n98-mage run(推奨)を使用している場合、次のコマンドでも同じことが実行できます:

n98-magerun config:delete web/cookie/cookie_domain
n98-magerun cache:clean config

月額9 USDでMagento 2カスタム検索

Magento 2.3 無効なフォームキーに関連する検索

Are you showing the right products, to the right shoppers, at the right time? Contact us to know more.
You may also like