使用自定义php的WordPress身份验证?

时间:2013-01-05 作者:jothikannan

我需要将wordpress登录集成到我的php网站中,为了单次登录访问我的网站和wordpress博客,我使用了一些使用curl的代码,它登录到用户中,然后重定向到我的主页,在我访问wordpress博客后,它不会验证我的身份,它说我要登录,

am使用以下代码

$username="admin";
$password="blog";
$url="http://wordpressblogURL/";
$cookie="cookie.txt";

$postdata = "log=". $username ."&pwd=". $password ."&wp-submit=Log%20In&redirect_to=". $url ."blog/wordpress/wp-admin/&testcookie=1";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url . "blog/wordpress/wp-login.php");

curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url . "blog/wordpress/wp-login.php");

curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
curl_close($ch);
echo $result;

exit;
请让我知道这个代码有什么问题,也是在cookie中。txt每次登录我的网站都会写一些东西

提前感谢

1 个回复
SO网友:Mridul Aggarwal

Wordpress使用基于cookie的身份验证。使用curl登录wordpress时,wordpress正在验证服务器(运行curl脚本)(&;不是你的客户。因此,当您使用浏览器(客户端)访问wordpress时,它没有经过身份验证。

对于解决方案,您可以在用户向wordpress进行身份验证后,使用wordpress挂钩自动向您的站点进行身份验证。然后,每当用户访问您的站点时,您可以将他们重定向到wordpress登录url进行身份验证。

另一种解决方案是重写wordpress中的身份验证功能。wordpress中的所有身份验证功能都可以直接或间接插入。当您覆盖它们而不是检查用户是否设置了正确的cookie时,您将检查用户是否登录到其他站点(可能使用共享数据库?)

结束

相关推荐

我可以用什么替换‘.get_bloginfo(’url‘)。’用来返回当前URL而不是家庭地址?

我正在使用Any Mobile Theme Switcher 可在完整主题和移动主题之间自动切换的插件。唯一的问题是,“切换到移动站点”和“切换到完整站点”链接会将您带到主页,而不是当前页面。相关的代码位似乎是这样的:function show_theme_switch_link_func( $atts ){ $desktopSwitchLink = get_option(\'show_switch_link_for_desktop\'); glo