web-dev-qa-db-ja.com

無効なCSRFトークン。フォームをもう一度送信してください。管理者

Adminerでデータベースをエクスポートすると、このエラーが発生します。エラー:無効なCSRFトークン。フォームを再送信してください。管理者からこのリクエストを送信しなかった場合は、このページを閉じてください。ヘルプが必要

11
RamanSall

私にとっての問題は、httpのみ(httpsではなく)を介してadminerにアクセスしているときに、セッションCookieにsecureフラグが設定されていたことです。


私たちのnginx構成には

fastcgi_param HTTPS on;

私はそれを削除しなければなりませんでした。

9
cweiske

これを試して!

chgrp nginx /var/lib/php/session

この問題は、セッション保存パスが書き込み可能でないことが原因である可能性があります。私は同じ問題に直面し、上記のコマンドで修正しました。私はnginxを使用していますが、別のWebサーバーを使用している場合は、それを変更するだけです。お役に立てれば!

6
wdetac

それを確認します /var/lib/php/sessionが存在し、そのnginxはそれに書き込むことができます。

CSRF攻撃を防ぐために、セッションにはCSRFトークンが含まれている必要があります。このメッセージは、トークンが保存されていないか、トークンがサーバーによって生成されたものと同じではないことを意味します。セッションを保存できる書き込み可能なパスがphp.iniに構成されていないと思います。 php.iniのsession.save_pathを書き込み可能なパスに設定しているかどうかを確認してください。

3
Epi

どのセットアップを使用していますか?これはnginx + php-fpmで発生し、管理者が機能するマシンと機能しないマシンのphp.iniの差分を実行した後、session.cookie_domainの値を空白にする必要があることがわかりました。

3
4oo4

Phpinfo(/ var/lib/php/session for Centos)でsession.save_pathを見つけて、モードを変更します。

chmod -R 777 /var/lib/php/session

完了しました!

1
Sinan Eldem
  1. Phpinfo.phpファイルを作成します

    <?php phpinfo(); ?>

  2. 実際のセッション保存パスを見つける

    /var/opt/remi/php72/lib/php/session

    enter image description here

  3. ディレクトリ権限の変更

    chmod -R 0777 /var/opt/remi/php72/lib/php/session

0
Hamid Samak

それは1時間前に私に起こりました。/varに十分なスペースがあることを確認してください。私はそれをきれいにしました、そしてそれは再び働きます。

0
syndrael

https://sourceforge.net/p/adminer/bugs-and-features/174/#429b :はい、この問題はセッションの保存パスが書き込み可能でないことが原因です。この行を先頭に追加してくださいファイル、ホストが許可すれば機能します

ini_set( 'session.save_path'、 'path/to/writeable/directory /');

0
Hamid Shariati

以前のPHPバージョンで発生することがありますが、これはそれほど重要ではありません。ページを更新するか、再度開くと、修正されます。

0
K.Moshar