ไม่สามารถเข้าสู่ระบบ:“ ข้อผิดพลาด: คุกกี้ถูกบล็อกหรือไม่ได้รับการสนับสนุนจากเบราว์เซอร์ของคุณ คุณต้องเปิดใช้งานคุกกี้เพื่อใช้ WordPress”


14

หลังจากเซิร์ฟเวอร์ย้ายฉันไม่สามารถเข้าสู่เว็บไซต์ของฉันได้ ฉันได้รับ "ข้อผิดพลาด: คุกกี้ถูกบล็อกหรือไม่ได้รับการสนับสนุนจากเบราว์เซอร์ของคุณคุณต้องเปิดใช้งานคุกกี้เพื่อใช้งาน WordPress" เกิดข้อผิดพลาดเมื่อฉันลองส่งแบบฟอร์มเข้าสู่ระบบ

ฉันมั่นใจว่าเบราว์เซอร์ของฉันรองรับคุกกี้และไม่ได้ถูกบล็อก

ฉันค้นคว้าสิ่งนี้อย่างถี่ถ้วนและลองทุกข้อเสนอแนะที่ฉันพบ:

  • เปลี่ยนชื่อไดเรกทอรีปลั๊กอิน
  • เปลี่ยนชื่อไดเรกทอรีธีมเว็บไซต์
  • ค้นหาฐานข้อมูลเพื่อค้นหาอินสแตนซ์ของ URL ก่อนหน้าและแทนที่ด้วย URL ใหม่
  • อัปเดต WordPress เป็นเวอร์ชันล่าสุด (4.0)
  • กำหนด WP_HOME และ WP_SITEURL ใน wp-config.php
  • ตั้งค่า ADMIN_COOKIE_PATH, COOKIE_DOMAIN, COOKIEPATH และ SITECOOKIEPATH ใน wp-config.php:

    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

ฉันสามารถเข้าสู่เว็บไซต์ในการติดตั้งท้องถิ่นของฉันและฉันสามารถเข้าสู่เว็บไซต์บนเซิร์ฟเวอร์ dev ของเรา ความคิดใดที่ทำให้เกิดสิ่งนี้


1
ดูที่แหล่ง HTML ของหน้าเข้าสู่ระบบ มีอะไรบ้างก่อนหน้าบรรทัด DOCTYPE เริ่มต้นหรือไม่ แม้แต่บรรทัดว่าง ถ้าเป็นเช่นนั้นคุณมีโค้ดบางส่วนที่สร้างเอาต์พุตก่อนส่วนหัวในกรณีนี้จะป้องกันไม่ให้ตั้งค่าคุกกี้
อ็อตโต

2
นี่เป็นเพราะความจริงที่ว่า Wordpress บังคับใช้ $ secure_cookie ควบคุมช่องทางที่ถูกเข้ารหัสสำหรับการเข้าสู่ระบบของผู้ดูแลระบบ กำหนดค่าเว็บเซิร์ฟเวอร์ของคุณใหม่เพื่อบังคับใช้ SSL / TLS KR

หากคุณใช้ WordPress MU การเพิ่มโดเมนในรายการโดเมนในการตั้งค่าอาจช่วยแก้ไขปัญหาได้
Mahdi Taghizadeh

2
นี่คือสิ่งที่ใช้งานได้สำหรับฉัน: ฉันเปลี่ยน http เป็น https (เพิ่มแล้ว) และ voila ไม่มีปัญหาคุกกี้อีกแล้ว
นักโทษ 13

@MahdiTaghizadeh - คุณช่วยอธิบายรายละเอียดเพิ่มเติมได้ไหม?
Greeso

คำตอบ:


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', '');
Steve

1
สิ่งนี้ไม่ได้ผลในทันทีสำหรับฉัน แต่ใช้การรีเฟรชอย่างหนัก (ctrl + f5 เป็นโครเมียม)
เดฟ

4

มันเป็นวานิช

โฮสต์เว็บของเราตั้งค่า Varnish ในลักษณะเฉพาะของ Drupal และเป็นการกรองคุกกี้ที่ WordPress ใช้เพื่อจัดการการเข้าสู่ระบบ


1
ในกรณีของฉันมันคือ AWS CloudFront ซึ่งบล็อกคุกกี้
Mantas

ฉันเห็นสิ่งนี้กับไซต์ที่ไม่ปลอดภัย http: // แต่สำหรับฉันทุกอย่างทำงานได้เมื่อใช้ https: //
CrandellWS

1

ฉันได้รับ Google และพยายามทุกวิถีทางเพื่อกำจัดปัญหาคุกกี้นี้ ในที่สุดฉันก็พบวิธีแก้ปัญหาสองวิธีซึ่งสามารถช่วยคุณได้

โซลูชันที่ 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);

อาจใช้ได้กับบางเว็บไซต์และบางเว็บไซต์อาจแสดงหน้าว่าง นอกจากนี้ไม่แนะนำให้ใช้เนื่องจากไฟล์นี้อาจถูกเขียนทับหลังจากอัปเดต WordPress ดังนั้นโปรดลองวิธีแก้ไขปัญหาที่สอง

โซลูชันที่ 2:

yoursite / wp-content / ธีม / 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);

การอัปเดตชุดรูปแบบของคุณอาจทำให้การเปลี่ยนแปลงเหล่านี้หลวมไปด้วยดังนั้นโปรดวางรหัสนี้ไว้ในฟังก์ชั่นอื่นซึ่งอยู่ภายใต้โฟลเดอร์ธีมลูกของคุณในชุดรูปแบบที่ใช้งานอยู่ในปัจจุบัน หวังว่านี่จะช่วยคุณได้


2
นี่คือทางออกที่แท้จริง มากขึ้นเช่น arounds ทำงานไม่เหมาะที่จะใช้นี้อย่างถาวร ...
เจค

-1 สำหรับ "โซลูชัน" 1 เนื่องจากการแก้ไขหลักไม่เคยกระทำที่ถูกต้อง 2 จะใช้งานได้ แต่ไม่สามารถระบุปัญหาได้
Jeremy

1

ฉันยังมีปัญหานี้เมื่อเร็ว ๆ นี้ปรากฎว่าแม้ว่าชื่อโดเมนจะชี้ไปที่เว็บไซต์ wordpress multisite ไม่มีบันทึกในฐานข้อมูลเพื่อแมปชื่อโดเมนกับบล็อกที่ถูกต้องดังนั้นเมื่อ wordpress พยายามตั้ง คุกกี้มันคือการตั้งค่าคุกกี้สำหรับโดเมนย่อยแทนโดเมนที่แมป


สิ่งนี้ใช้ได้สำหรับฉัน ฉันใช้wordpress.org/plugins/wordpress-mu-domain-mappingสำหรับการจับคู่โดเมนและทันทีที่ฉันเพิ่มบันทึกการแมปฉันหยุดรับข้อผิดพลาด "ข้อผิดพลาด: คุกกี้ถูกบล็อกหรือไม่สนับสนุนเบราว์เซอร์ของคุณ"
lee_mcmullen

-1

ฉันใช้งานโซลูชันที่กำหนดโดย wpdevramki และสังเกตว่าปัญหาต่อไปนี้อาจปรากฏขึ้น:

"ประกาศ: COOKIE_DOMAIN คงที่ได้กำหนดไว้แล้วใน /wp-config.php ในบรรทัด 102"

หากต้องการแก้ไขปัญหานี้โปรดใส่รหัสต่อไปนี้ใน wp-include / default-contants.php

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

3
อย่าแก้ไขรหัสหลัก!
Jeremy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.