我确信我的浏览器支持cookie,并且它们没有被阻止。
我已经对此进行了详尽的研究,尝试了我发现的所有建议:
重命名了插件目录
重命名了站点主题目录
在数据库中搜索了先前URL的实例,并将其替换为新URL
将WordPress更新到最新版本(4.0)
在wp-config.php中定义了WP_HOME和WP_SITEURL
在wp-config中设置了ADMIN_COOKIE_PATH,COOKIE_DOMAIN,COOKIEPATH和SITECOOKIEPATH .php:
define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');
将此黑客尝试到wp-login.php:https://wordpress.org/support/topic/cookies-are-blocked-or-您的浏览器不支持#1 post-5026171
我可以在本地安装中登录该站点,也可以在我们的dev服务器上登录该站点。任何想法可能是什么原因造成的?
#1 楼
在/ *之前,将以下行添加到wp-config.php中,就这样,停止编辑!... * / define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );
/* That's all, stop editing! Happy blogging. */
评论
该解决方案在多站点安装中也对我有用。我能够登录到主站点,但无法登录到辅助站点。
– Be.St.
18-2-23在12:49
@ Be.St。,尝试define('COOKIE_DOMAIN','');
–史蒂夫
18年4月18日在2:14
这对我而言并不立即起作用,但是经过了硬刷新(Chrome中的Ctrl + F5)
–戴夫
19年2月9日在22:39
同意@Dave,我手动清理了cookie然后工作了
–Neekey
20 Feb 19'2:57
如果有人在寻找可以确认这一点的官方文档,则可以在wordpress.org/support/article/…的底部看到相同的建议。
– DuckMaestro
20 Mar 20 '20在23:47
#2 楼
这是Varnish。我们的Web主机以Drupal特定的方式设置了Varnish,并且正在过滤掉WordPress用于处理登录的cookie。
评论
就我而言,是AWS CloudFront阻止了cookie。
–曼塔斯
16 Sep 8'6在6:37
我在不安全的站点http://上看到了这一点,但对我来说,使用https://时一切正常
–CrandellWS
19-09-27在17:15
#3 楼
我被谷歌搜索并尝试了各种方法来摆脱这个cookie问题。最后,我找到了两个解决方案,它们可以为您提供帮助。解决方案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 / themes / 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);
主题的更新也可能会使这些更改丢失,因此请将此代码放在其他函数中.php,该文件位于当前活动主题中的子主题文件夹下。希望对你有帮助。
评论
这些确实是解决方案。更像是工作环境,不是永久使用此功能的理想选择...
–杰克
16-09-21在18:52
-1代表“解决方案” 1,因为编辑核心永远都不是正确的操作。 2可以工作,但不能识别问题。
–杰里米
18年4月25日在15:24
#4 楼
最近我也遇到了这个问题,事实证明,尽管域名指向该网站,但是wordpress多站点在数据库中没有将域名映射到正确博客的记录,因此当wordpress尝试设置时cookie,它是为子域而不是映射域设置cookie。评论
这对我有用。我正在使用wordpress.org/plugins/wordpress-mu-domain-mapping进行域映射,并且一旦添加了映射记录,我就停止出现“错误:浏览器阻止或不支持Cookie”错误。
–lee_mcmullen
19年2月13日在16:24
#5 楼
这个问题也可能是由于site_url与确切的网址不匹配造成的。在我的情况下,我的site_url和home的名称是//127.0.0.1,我可以灵活地使用http或https,所以我做了:
// Identify the relevant protocol for the current request
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https" : "http";
// Set SITEURL and HOME using a dynamic protocol.
define('WP_SITEURL', $protocol . '://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', $protocol . '://' . $_SERVER['HTTP_HOST']);
#6 楼
您的网站中可能存在以下问题。编码错误
代码中不必要的空格
缓存和安全性插件
请在此处查看更多信息:https: //www.scratchcode.io/cookies-are-blocked-or-not-supported by-your-browser /
#7 楼
我实现了wpdevramki给定的解决方案,并注意到可能出现以下问题:“注意:/wp-config.php中已经在第102行定义了常量COOKIE_DOMAIN”
要解决此问题,请在wp-includes / default-contants.php中注释掉以下代码。
if ( !defined('COOKIE_DOMAIN') )
define('COOKIE_DOMAIN', false);
评论
请勿修改核心代码!
–杰里米
18-04-25在15:27
切勿修改核心代码。
– Drmzindec
20年7月15日在15:06
评论
查看登录页面的HTML源。初始DOCTYPE行之前是否有任何内容?哪怕是空行?如果是这样,那么在制作标题之前,您需要执行一些代码创建输出,在这种情况下,这将阻止它设置cookie。这是因为Wordpress对管理员登录的加密通道强制执行$ secure_cookie控件。重新配置您的网络服务器以实施SSL / TLS。 KR。
如果您使用的是WordPress MU,则将域添加到“设置”中的“域”列表中可能会解决此问题。
这是对我有用的方法:我将http更改为https(添加了“ s”)并确定。不再有Cookie问题。
@MahdiTaghizadeh-您能详细解释一下您的意思吗?