web-dev-qa-db-fra.com

Impossible de se connecter: "ERREUR: les cookies sont bloqués ou non pris en charge par votre navigateur. Vous devez activer les cookies pour utiliser WordPress."

Après le déplacement d'un serveur, je ne parviens pas à me connecter à mon site. Je reçois le message "ERREUR: les cookies sont bloqués ou non pris en charge par votre navigateur. Vous devez activer les cookies pour utiliser WordPress." erreur lorsque j'essaie de soumettre le formulaire de connexion.

Je suis convaincu que mon navigateur prend en charge les cookies et qu'ils ne sont pas bloqués.

J'ai effectué des recherches approfondies à ce sujet et essayé toutes les suggestions que j'ai trouvées:

  • renommé le répertoire des plugins
  • renommé le répertoire du thème du site
  • cherché dans la base de données les occurrences de l'URL précédente et remplacé celles avec la nouvelle URL
  • mis à jour WordPress à la dernière version (4.0)
  • défini WP_HOME et WP_SITEURL dans wp-config.php
  • définissez ADMIN_COOKIE_PATH, COOKIE_DOMAIN, COOKIEPATH et SITECOOKIEPATH dans wp-config.php:

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

Je peux me connecter au site sur mon installation locale et sur le serveur de dev. Des idées ce qui pourrait être la cause?

13
Sarah German

C'était du vernis.

Notre hébergeur avait configuré Varnish de manière spécifique à Drupal et filtrait les cookies utilisés par WordPress pour gérer les connexions.

3
Sarah German

Ajoutez la ligne ci-dessous à votre fichier wp-config.php avant/* C'est tout, arrêtez de modifier! ... * /

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

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

J'ai été googlé et essayé tous les moyens de se débarrasser de ce problème de cookie. Enfin, j'ai trouvé deux solutions qui pourraient vous aider.

Solution 1:

votre site/wp-login.php

Commentaire suivant lignes 770-773

Code

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

Cela peut fonctionner pour certains sites Web et certains sites peuvent afficher une page vierge. De plus, cela n’est pas recommandé, car ce fichier peut être remplacé après la mise à jour de wordpress. Essayez donc de deuxième solution.

Solution 2:

votre site/wp-content/themes/yourthemeFolder/functions.php

Placez le code suivant.

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

La mise à jour de votre thème peut également perdre ces modifications. Veuillez donc placer ce code dans un autre fichier functions.php, situé sous le dossier de votre thème enfant dans votre thème actif actuel. J'espère que ceci vous aidera.

1
Raj

J'ai également eu ce problème récemment, il s'est avéré que bien que le nom de domaine ait été dirigé vers le site Web, le wordpress multisite ne contenait pas d'enregistrement dans la base de données permettant de mapper le nom de domaine sur le bon blog. Par conséquent, lorsque wordpress essayait de définir les cookies, il définissait le cookie pour le sous-domaine au lieu du domaine mappé.

1
Terry Kernan