Giriş yapılamıyor: “HATA: Çerezler tarayıcınız tarafından engellendi veya desteklenmedi. WordPress'i kullanmak için çerezleri etkinleştirmelisiniz. ”


15

Bir sunucu taşındıktan sonra siteme giriş yapamıyorum. "HATA: Çerezler tarayıcınız tarafından engellendi veya desteklenmiyor. WordPress'i kullanmak için çerezleri etkinleştirmelisiniz." giriş formunu göndermeye çalıştığımda hata oluştu.

Tarayıcımın çerezleri desteklediğinden ve engellenmediğinden eminim.

Bunu oldukça ayrıntılı bir şekilde araştırdım ve bulduğum her öneriyi denedim:

  • plugins dizinini yeniden adlandırdı
  • site tema dizinini yeniden adlandırdı
  • önceki URL örnekleri için veritabanında arama yaptı ve bunları yeni URL ile değiştirdi
  • WordPress'i en son sürüme güncelledi (4.0)
  • wp-config.php dosyasında WP_HOME ve WP_SITEURL tanımlandı
  • wp-config.php dosyasında ADMIN_COOKIE_PATH, COOKIE_DOMAIN, COOKIEPATH ve SITECOOKIEPATH değerlerini ayarlayın:

    define('ADMIN_COOKIE_PATH', '/');
    define('COOKIE_DOMAIN', '');
    define('COOKIEPATH', '');
    define('SITECOOKIEPATH', '');
  • bu hack'i wp-login.php dosyasına denedi: https://wordpress.org/support/topic/cookies-are-blocked-or-not-supported-by-your-browser-1#post-5026171

Yerel kurulumumda siteye giriş yapabilirim ve geliştirici sunucumuzdaki siteye giriş yapabilirim. Buna neyin neden olabileceği hakkında herhangi bir fikriniz var mı?


1
Giriş sayfasının HTML kaynağına bakın. İlk DOCTYPE hattından önce bir şey var mı? Hatta boş bir satır mı? Öyleyse, üstbilgiler yapılmadan önce bir parça kod oluşturma çıktısı vardır, bu durumda çerez ayarlamasını engeller.
Otto

2
Bunun nedeni, Wordpress'in yönetici oturumları için şifrelenmiş bir kanal üzerinde $ secure_cookie denetimi uygulamasıdır. SSL / TLS'yi zorunlu kılmak için web sunucunuzu yeniden yapılandırın. KR.

WordPress MU kullanıyorsanız, alan adını Ayarlar'daki Alanlar listesine eklemek sorunu çözebilir.
Mehdi Taghizadeh

2
Benim için bu işe yaradı: http'yi https ('s' eklendi) ve voila olarak değiştirdim. Artık çerez sorunu yok.
Mahkum 13

@MahdiTaghizadeh - Ne demek istediğinizi daha ayrıntılı olarak açıklayabilir misiniz?
Greeso

Yanıtlar:


26

Wp-config.php dosyasına aşağıdaki satırı ekleyin: / * Hepsi bu, düzenlemeyi durdurun! ... * /

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

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

1
Bu çözüm benim için çok bölgeli bir kurulumda da işe yaradı. Ana siteye giriş yapabildim ancak ikincil siteye giriş yapamadım.
Be.St.

@ Be.St., Denedefine('COOKIE_DOMAIN', '');
Steve

1
Bu benim için hemen işe yaramadı, ancak sert bir yenileme yaptı (kromda ctrl + f5)
Dave

4

Vernik'ti.

Web sunucumuz Varnish'i Drupal'a özgü bir şekilde kurmuştu ve WordPress'in girişleri işlemek için kullandığı çerezleri filtreliyordu.


1
Benim durumumda çerezleri engelleyen AWS CloudFront idi.
Mantas

Ben güvenli olmayan sitehttp: // ile gördüm ama benim için her şey https: // kullanırken çalışır
CrandellWS

1

Ben googled ve bu çerez sorunu kurtulmak için tüm yolları denedim. Sonunda size yardımcı olabilecek iki çözüm buldum.

Çözüm 1:

yoursite / wp-login.php

Aşağıdaki satırları yorumlayın 770-773

kod

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

Bazı web siteleri için işe yarayabilir ve bazı siteler boş sayfa gösterebilir. Ayrıca, wordpress güncellemesinden sonra bu dosya geçersiz kılınabileceği için bu önerilmez, bu nedenle ikinci çözümü deneyin.

Çözüm 2:

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

Aşağıdaki kodu yerleştirin.

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

Temanızın güncellenmesi de bu değişiklikleri kaybedebilir, bu nedenle lütfen bu kodu geçerli etkin temanızdaki alt tema klasörünüzün altındaki başka bir işlevlere yerleştirin. Php Umarım bu size yardımcı olacaktır.


2
Bunlar gerçekten çözüm. Daha çok iş gibi, bunu kalıcı olarak kullanmak için ideal değil ...
Jake

-1 için "Çözüm" 1 çünkü çekirdeği düzenlemek ASLA doğru eylem değildir. 2 işe yarayacak, ancak sorunu tanımlamıyor.
Jeremy

1

Son zamanlarda bu sorunu da yaşadım, etki alanı adı web sitesine yönlendirilmiş olsa da, wordpress multisite veritabanında etki alanı adını doğru blogla eşleştirmek için bir kayıt olmadığı ortaya çıktı, bu yüzden wordpress ayarlamaya çalıştığında çerezler, eşlenen alan adı yerine alt alan adı için çerez ayarlıyordu.


Bu benim için çalıştı. Etki alanı eşlemesi için wordpress.org/plugins/wordpress-mu-domain-mapping kullanıyorum ve eşleme kaydını ekler eklemez "HATA: Çerezler engellenmiş veya tarayıcınız tarafından desteklenmiyor" hatası almayı bıraktım.
lee_mcmullen

-1

Wpdevramki tarafından verilen çözümü uyguladım ve aşağıdaki sorunun ortaya çıkabileceğini fark ettim:

"Uyarı: 102 satırında /wp-config.php dosyasında önceden tanımlanmış sabit COOKIE_DOMAIN"

Bu sorunu çözmek için lütfen wp-include / default-contants.php dosyasında aşağıdaki kodu yorumlayın

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

3
TEMEL KODU DEĞİŞTİRMEYİN!
Jeremy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.