检查当前域外的WordPress登录

时间:2017-04-07 11:14:36

标签: php wordpress login cross-domain

在PHP网站(没有WordPress)中,我想检查当前访问者是否已经并且之前已登录到另一个WordPress博客(不同的文件夹或域)。

我使用此代码:

define('WP_USE_THEMES', false);
require('../wp-blog-header.php');
if(!is_user_logged_in())
{
exit('You do not have access');
}

如果PHP站点在此路径中,它可以正常工作

  

example.com/site/index.php

但如果我在

中使用它,我会收到错误500
  

SUBDOMAIN.example.com/index.php

define('WP_USE_THEMES', false);
require('httpS://www.example.com/wp-blog-header.php');
if(!is_user_logged_in())
{
exit('You do not have access');
}

是否可以进行跨域检查?

1 个答案:

答案 0 :(得分:0)

当我创建一个子域以显示我网站上的某个页面时,我遇到了类似的问题。我没有得到500错误,但页面将加载,用户将不会登录。原因是因为wordpress将子域视为自己的域,因此不会尝试加载/访问相同的cookie。我跑过这篇文章:

<强> https://github.com/dellis23/django-wordpress-auth/issues/6#issuecomment-130070419

您基本上必须将 COOKIE_DOMAIN COOKIEHASH 添加到您的wp-config文件中,并将它们设置为您想从中获取Cookie信息的wordpress的根域。以这种方式设置应该允许您的整个域能够访问cookie信息。

我真的不知道你为什么会得到500错误。也许这就是你试图获得wp-blog-header.php的方式。我认为您不能只使用“https://www”输入实际地址,而只需要使用类似“../example.comDomainDirectory/wp-blog-header.php”或“”的方式访问它。 ./example.comDomainDirectory/wordpressInstallDirectory/wp-blog-header.php“

希望这有助于您的努力! 干杯