J'ai rencontré des problèmes avec le code suivant: La connexion fonctionne, mais chaque lien du tableau de bord sur lequel je clique suivra dans la page 404 non trouvée. Il semble qu'il n'y aura pas de session de travail créée?
$username="admin";
$password="admin";
$url="http://www.yourdomain.com/";
$cookie="cookie.txt";
$postdata = "log=". $username ."&pwd=". $password ."&wp-submit=Log%20In&redirect_to=". $url ."wp-admin/&testcookie=1";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url . "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, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url . "wp-admin/");
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
curl_close($ch);
echo $result;
exit;
Pas sûr que ce soit un problème de session, je pense que cela a à voir avec le fait que WordPress Dashboard utilise des liens relatifs.
Un correctif rapide hackish serait d'ajouter
curl_setopt($ch,CURL_COOKIEFILE, ''); // Enables session support
Ajoutez ensuite ceci après la fermeture de la redirection du gestionnaire Curl vers l'emplacement actuel du tableau de bord:
curl_close($ch);
header('location: blog/wordpress/wp-admin/');
die();
@Bainternet ... bonne réponse, j'ai essayé votre chemin et il y a une erreur que je veux commenter
curl_setopt ($ ch, CURLOPT_COOKIEFILE, 'cookie.txt'); manque d'OPT
et pour la redirection, il ajoute au-dessus de l'URL et pour éviter que vous ne puissiez utiliser
curl_setopt ($ ch, CURLOPT_POSTFIELDS, 'log ='. urlencode ($ log). '& pwd ='. urlencode ($ mot_passe). '& redirect_to ='. urlencode ($ redirect));
ici, vous pouvez fournir une URL de redirection selon vos besoins pour n’importe quelle partie de la page d’administration de wordpress.