Tidak dapat masuk: “GALAT: Cookie diblokir atau tidak didukung oleh browser Anda. Anda harus mengaktifkan cookie untuk menggunakan WordPress. "

14

Setelah pemindahan server, saya tidak dapat masuk ke situs saya. Saya mendapatkan "ERROR: Cookie diblokir atau tidak didukung oleh browser Anda. Anda harus mengaktifkan cookie untuk menggunakan WordPress." kesalahan ketika saya mencoba mengirimkan formulir login.

Saya yakin browser saya mendukung cookie dan tidak diblokir.

Saya telah meneliti ini secara menyeluruh dan mencoba setiap saran yang saya temukan:

  • mengganti nama direktori plugins
  • mengganti nama direktori tema situs
  • mencari basis data untuk URL sebelumnya dan menggantinya dengan URL baru
  • memperbarui WordPress ke versi terbaru (4.0)
  • mendefinisikan WP_HOME dan WP_SITEURL di wp-config.php
  • atur ADMIN_COOKIE_PATH, COOKIE_DOMAIN, COOKIEPATH, dan SITECOOKIEPATH di wp-config.php:

    define('ADMIN_COOKIE_PATH', '/');
    define('COOKIE_DOMAIN', '');
    define('COOKIEPATH', '');
    define('SITECOOKIEPATH', '');
  • mencoba peretasan ini ke wp-login.php: https://wordpress.org/support/topic/cookies-are-blocked-or-not-supported-by-your-browser-1#post-5026171

Saya bisa masuk ke situs di instal lokal saya, dan saya bisa masuk ke situs di server dev kami. Apakah anda mengetahui apa yang bisa menyebabkan ini terjadi?

Sarah Jerman
sumber
1
Lihatlah sumber HTML halaman login. Apakah ada apa-apa sebelum garis DOCTYPE awal? Bahkan garis kosong? Jika demikian, maka Anda memiliki beberapa kode yang membuat output sebelum header dibuat, dalam hal ini mencegahnya mengatur cookie.
Otto
2
Ini karena fakta bahwa Wordpress menjalankan kontrol $ secure_cookie atas saluran terenkripsi untuk login admin. Konfigurasikan ulang server web Anda untuk menegakkan SSL / TLS. KR.
Jika Anda menggunakan WordPress MU, menambahkan domain ke daftar Domain di Pengaturan dapat memperbaiki masalah.
Mahdi Taghizadeh
2
Inilah yang berhasil bagi saya: Saya mengubah http menjadi https (ditambahkan 's') dan voila. Tidak ada lagi masalah cookie.
Tahanan 13
@ MahdiTaghizadeh - Bisakah Anda jelaskan maksud Anda?
Greeso

Jawaban:

26

Tambahkan baris di bawah ini ke wp-config.php Anda sebelum / * Itu saja, berhenti mengedit! ... * /

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

/* That's all, stop editing! Happy blogging. */
wpdevramki
sumber
1
Solusi ini juga berfungsi untuk saya pada instalasi multisite. Saya bisa masuk ke situs utama tetapi tidak ke situs sekunder.
Be.St.
@ Be.St., Cobadefine('COOKIE_DOMAIN', '');
Steve
1
Ini tidak bekerja segera untuk saya, tetapi dilakukan pada penyegaran keras (ctrl + f5 di chrome)
Dave
4

Itu pernis.

Host web kami telah menyiapkan Varnish dengan cara khusus Drupal, dan itu memfilter cookie yang digunakan WordPress untuk menangani login.

Sarah Jerman
sumber
1
Dalam kasus saya, AWS CloudFront yang memblokir cookie.
Mantas
Saya melihat ini dengan situs yang tidak amanhttp: // tetapi bagi saya semuanya berfungsi saat menggunakan https: //
CrandellWS
1

Saya telah di-google & mencoba semua cara untuk menghilangkan masalah cookie ini. Akhirnya saya menemukan dua solusi, yang dapat membantu Anda.

Solusi 1:

situs Anda / wp-login.php

Komentar baris 770-773 berikut

Kode

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);

Mungkin berfungsi untuk beberapa situs web dan beberapa situs mungkin menampilkan halaman kosong. Selain itu, ini tidak dianjurkan, karena file ini dapat diganti setelah pembaruan wordpress jadi cobalah untuk solusi kedua.

Solusi 2:

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

Tempatkan kode berikut.

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

Memperbarui tema Anda juga dapat kehilangan perubahan ini jadi silakan tempatkan kode ini di functions.php lain, yang berada di bawah folder tema anak Anda di tema aktif Anda saat ini. Semoga ini bisa membantu Anda.

Raj
sumber
2
Ini benar-benar solusi. Lebih seperti bekerja di sekitar, tidak ideal untuk menggunakan ini secara permanen ...
Jake
-1 untuk "Solusi" 1 karena mengedit inti TIDAK PERNAH merupakan tindakan yang benar. 2 akan berfungsi tetapi tidak mengidentifikasi masalah.
Jeremy
1

Saya juga memiliki masalah ini baru-baru ini, ternyata meskipun nama domain diarahkan ke situs web, multisite wordpress tidak memiliki catatan dalam database untuk memetakan nama domain ke blog yang benar, jadi ketika wordpress mencoba mengatur cookie, itu mengatur cookie untuk subdomain alih-alih domain yang dipetakan.

Terry Kernan
sumber
Ini berhasil untuk saya. Saya menggunakan wordpress.org/plugins/wordpress-mu-domain-mapping untuk pemetaan domain dan segera setelah saya menambahkan catatan pemetaan, saya berhenti mendapatkan kesalahan "ERROR: Cookie diblokir atau tidak didukung oleh browser Anda".
lee_mcmullen
-1

Saya menerapkan solusi yang diberikan oleh wpdevramki dan memperhatikan bahwa masalah berikut mungkin muncul:

"Pemberitahuan: Constant COOKIE_DOMAIN sudah didefinisikan di /wp-config.php di baris 102"

Untuk mengatasi ini, beri komentar kode berikut di wp-include / default-contants.php

if ( !defined('COOKIE_DOMAIN') )
    define('COOKIE_DOMAIN', false);
Anjing Tek
sumber
3
JANGAN MODIFIKASI KODE INTI!
Jeremy