Não é possível fazer login: “ERRO: os cookies estão bloqueados ou não são suportados pelo seu navegador. Você deve ativar os cookies para usar o WordPress. ”

14

Após a mudança do servidor, não consigo fazer login no meu site. Recebo a mensagem "ERRO: os cookies estão bloqueados ou não são suportados pelo seu navegador. Você deve habilitar os cookies para usar o WordPress." erro ao tentar enviar o formulário de login.

Tenho certeza de que meu navegador suporta cookies e que eles não estão bloqueados.

Eu pesquisei isso bastante e tentei todas as sugestões que encontrei:

  • renomeou o diretório plugins
  • renomeou o diretório de temas do site
  • procurou no banco de dados por instâncias do URL anterior e substituiu aquelas pelo novo URL
  • WordPress atualizado para a versão mais recente (4.0)
  • WP_HOME e WP_SITEURL definidos em wp-config.php
  • defina ADMIN_COOKIE_PATH, COOKIE_DOMAIN, COOKIEPATH e SITECOOKIEPATH em wp-config.php:

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

Posso entrar no site na minha instalação local e no site do nosso servidor de desenvolvimento. Alguma ideia sobre o que poderia estar causando isso?

Sarah German
fonte
1
Veja a fonte HTML da página de login. Existe alguma coisa antes da linha inicial do DOCTYPE? Mesmo uma linha em branco? Nesse caso, você tem algum código que cria saída antes dos cabeçalhos serem criados; nesse caso, isso impede a configuração de cookies.
Otto
1
Isso ocorre porque o Wordpress impõe um controle $ secure_cookie sobre um canal criptografado para logins de administrador. Reconfigure seu servidor da web para aplicar o SSL / TLS. KR.
Se você estiver usando o MU do WordPress, adicionar o domínio à lista de Domínios nas configurações pode corrigir o problema.
Mahdi Taghizadeh 12/12
1
Isto é o que funcionou para mim: eu mudei http para https (adicionado 's') e pronto. Não há mais problema com cookies.
Preso 13
@MahdiTaghizadeh - Você pode explicar o que você quer dizer com mais detalhes?
Greeso 4/04/19

Respostas:

26

Adicione a linha abaixo ao seu wp-config.php antes / * Isso é tudo, pare de editar! ... * /

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

/* That's all, stop editing! Happy blogging. */
wpdevramki
fonte
1
Essa solução também funcionou para mim em uma instalação multisite. Consegui acessar o site principal, mas não o secundário.
Be.St.
@ Be.St., Tentedefine('COOKIE_DOMAIN', '');
Steve
1
Isto não funcionou imediatamente para mim, mas não em uma atualização forçada (ctrl + f5 em cromo)
Dave
4

Era verniz.

Nosso host tinha o Varnish configurado de maneira específica ao Drupal e filtrava os cookies que o WordPress usa para manipular logins.

Sarah German
fonte
1
No meu caso, foi o AWS CloudFront que bloqueou os cookies.
Mantas
Eu vi isso com o site não segurohttp: //, mas para mim tudo funciona quando se usa https: //
CrandellWS
1

Fui pesquisado no Google e tentei todas as maneiras de me livrar desse problema de cookies. Finalmente encontrei duas soluções, que poderiam ajudá-lo.

Solução 1:

yoursite / wp-login.php

Comente as seguintes linhas 770-773

Código

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

Pode funcionar para alguns sites e alguns sites podem mostrar uma página em branco. Além disso, isso não é recomendado, pois esse arquivo pode ser substituído após a atualização do wordpress, portanto, tente a segunda solução.

Solução 2:

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

Coloque o seguinte código.

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

A atualização do seu tema também pode perder essas alterações, portanto, coloque esse código em outro functions.php, que está na sua pasta de tema filho no seu tema ativo atual. Espero que isso ajude você.

Raj
fonte
2
Estas são realmente soluções. Mais como arounds de trabalho, não é o ideal para usar esta permanentemente ...
Jake
-1 para "Solução" 1 porque editar o núcleo NUNCA é a ação correta. 2 funcionará, mas não identifica o problema.
22418 Jeremy
1

Eu também tive esse problema recentemente, mas, embora o nome do domínio tenha sido apontado para o site, o wordpress multisite não tinha um registro no banco de dados para mapear o nome do domínio para o blog correto, portanto, quando o wordpress estava tentando definir os cookies, estava configurando o cookie para o subdomínio em vez do domínio mapeado.

Terry Kernan
fonte
Isso funcionou para mim. Estou usando o wordpress.org/plugins/wordpress-mu-domain-mapping para mapeamento de domínio e, assim que adicionei o registro de mapeamento, parei de receber o erro "ERRO: os cookies estão bloqueados ou não são suportados pelo navegador".
Lee_mcmullen
-1

Eu implementei a solução fornecida por wpdevramki e notei que o seguinte problema pode surgir:

"Aviso: constante COOKIE_DOMAIN já definido em /wp-config.php na linha 102"

Para resolver isso, comente o código a seguir em wp-includes / default-contants.php

if ( !defined('COOKIE_DOMAIN') )
    define('COOKIE_DOMAIN', false);
Tech Dog
fonte
3
NÃO MODIFIQUE O CÓDIGO PRINCIPAL!
22418 Jeremy