ログインできません:「エラー:Cookieがブロックされているか、ブラウザでサポートされていません。WordPressを使用するにはCookieを有効にする必要があります。」


14

サーバーを移動した後、サイトにログインできません。「エラー:Cookieがブロックされているか、ブラウザでサポートされていません。WordPressを使用するにはCookieを有効にする必要があります。」ログインフォームを送信しようとするとエラーが発生します。

私のブラウザはクッキーをサポートしており、クッキーがブロックされていないことを確信しています。

私はこれをかなり徹底的に調査し、見つけたすべての提案を試しました:

  • プラグインディレクトリの名前を変更しました
  • サイトテーマディレクトリの名前を変更しました
  • 以前のURLのインスタンスをデータベースで検索し、それらを新しいURLに置き換えました
  • WordPressを最新バージョン(4.0)に更新
  • wp-config.phpでWP_HOMEおよびWP_SITEURLを定義
  • wp-config.phpでADMIN_COOKIE_PATH、COOKIE_DOMAIN、COOKIEPATH、およびSITECOOKIEPATHを設定します。

    define('ADMIN_COOKIE_PATH', '/');
    define('COOKIE_DOMAIN', '');
    define('COOKIEPATH', '');
    define('SITECOOKIEPATH', '');
  • wp-login.phpにこのハックを試しました:https ://wordpress.org/support/topic/cookies-are-blocked-or-not-supported-by-your-browser-1#post-5026171

ローカルインストールでサイトにログインでき、開発用サーバーでサイトにログインできます。これを引き起こしている可能性のあるアイデアはありますか?


1
ログインページのHTMLソースを見てください。最初のDOCTYPE行の前に何かありますか?空白行でも?その場合、ヘッダーを作成する前にコードを作成して出力を作成します。この場合、Cookieを設定できません。
オットー14年

1
これは、Wordpressが管理者ログイン用の暗号化されたチャネルに対して$ secure_cookieコントロールを強制するという事実によるものです。SSL / TLSを実施するようにWebサーバーを再構成します。KR。

WordPress MUを使用している場合、[設定]の[ドメイン]リストにドメインを追加すると問題が解決する場合があります。
マフディタギザデ16

1
これは私のために働いたものです:私はhttpをhttps( 's'を追加)と出来上がりに変更しました。Cookieの問題はもうありません。
囚人

@MahdiTaghizadeh-あなたが意味することをもっと詳しく説明してもらえますか?
グリーゾ

回答:


26

/ *の前にwp-config.phpに以下の行を追加します/それだけです、編集を停止してください!... * /

 define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );

/* That's all, stop editing! Happy blogging. */

1
このソリューションは、マルチサイトインストールでも機能しました。メインサイトにはログインできましたが、セカンダリサイトにはログインできませんでした。
Be.St.

@ Be.St。、試してくださいdefine('COOKIE_DOMAIN', '');
スティーブ

1
これはすぐに
デイブ

4

ワニスでした。

私たちのウェブホストはDrupal固有の方法でVarnishをセットアップし、WordPressがログインの処理に使用するCookieをフィルターで除外していました。


1
私の場合、CookieをブロックしたのはAWS CloudFrontでした。
マンタス

私はノンセキュアなsitehttpでこれを見た://しかし、HTTPSを使用しているときに私のためにすべての作品://
CrandellWS

1

私はグーグルで検索し、このCookieの問題を取り除くためにあらゆる方法を試しました。最後に、私はあなたを助けることができる2つのソリューションを見つけました。

解決策1:

yoursite / wp-login.php

770-773行目以降のコメント

コード

if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) )
    $user = new WP_Error('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress."));
else
    $user = wp_signon('', $secure_cookie);

一部のWebサイトで機能し、一部のサイトで空白ページが表示される場合があります。さらに、このファイルはワードプレスのアップデート後に上書きされる可能性があるため、2番目の解決策を試してください。

解決策2:

yoursite / wp-content / themes / yourthemeFolder / functions.php

次のコードを配置します。

 setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN);
if ( SITECOOKIEPATH != COOKIEPATH )
    setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);

テーマを更新するとこれらの変更が失われる可能性があるため、このコードを現在のアクティブなテーマの子テーマフォルダーの下にある別のfunctions.phpに配置してください。これがお役に立てば幸いです。


2
これらは本当に解決策です。回避策に似ていますが、これを永続的に使用するのは理想的ではありません...-
Jake

コアの編集は決して正しいアクションではないため、「ソリューション」1の場合は-1。2は動作しますが、問題を特定しません。
ジェレミー

1

私も最近この問題を抱えていましたが、ドメイン名はウェブサイトに向けられていましたが、ワードプレスのマルチサイトにはデータベースにドメイン名を正しいブログにマッピングするレコードがないため、ワードプレスがCookie、マップされたドメインの代わりにサブドメインのCookieを設定していました。


これは私のために働いた。私は使っていますドメインマッピングにwordpress.org/plugins/wordpress-mu-domain-mappingをしていますが、マッピングレコードを追加するとすぐに、「エラー:Cookieがブロックされているか、ブラウザでサポートされていません」エラーが表示されなくなりました。
lee_mcmullen

-1

wpdevramkiが提供するソリューションを実装し、次の問題が表面化する可能性があることに気付きました。

「注意:定数COOKIE_DOMAINは、102行目の/wp-config.phpで既に定義されています」

これを解決するには、wp-includes / default-contants.phpの次のコードをコメントアウトしてください

if ( !defined('COOKIE_DOMAIN') )
    define('COOKIE_DOMAIN', false);

3
コアコードを変更しないでください!
ジェレミー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.