Vous n'êtes pas identifié.
Annonce
Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite Recherche et de lire les règles de ce forum.
#1 01-05-2008 09:55:25
- #Traceur
- Connaisseur WP
- Date d'inscription: 24-07-2006
- Messages: 16
Comment utiliser xmlrpc.php ??
Bonjour,
Je voudrais utiliser le xmlrpc.php mais je n’y arrive pas. J’ai trouvé un exemple "particulier" qui a pour avantage d’être assez simple, mais cela ne marche pas alors que j’ai beau le tester sur mon blog.
Comment faire ? C’est censé édité le contenu d’un article.
<?php
$host = 'www.mon-site-web.net'; // blog url
$page = '/xmlrpc.php';
$data = '<?xml version="1.0" ?>
<methodcall>
<methodname>metaWeblog.editPost</methodname>
<params>
<value>
<i4>post_ID</i4>
</value>
<value>
<string>username</string>
</value>
<value>
<string>password</string>
</value>
<struct>
<member>
<name>post_type</name>
<value>page</value>
</member>
<member>
<name>title</name>
<value>
<string>Pwnd</string>
</value>
</member>
<member>
<name>description</name>
<value>Test</value>
</member>
</struct>
</params>
</methodcall>';
$exploited = fsockopen($host, 80, $errorNumber, $errorString);
$requestHeader = " ".$page." HTTP/1.1\r\n";
$requestHeader.= "Host: ".$host."\r\n";
$requestHeader.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n";
$requestHeader.= "Content-Type: application/x-www-form-urlencoded\r\n";
$requestHeader.= "Content-Length: ".strlen($data)."\r\n";
$requestHeader.= "Connection: close\r\n\r\n";
$requestHeader.= $data;
fwrite($exploited, $requestHeader );
echo 'done';
>
A la place de username je mets mon pseudo, à la place de password je mets mon mot de passe, et a la place de post_ID je mets le n° de l’article.
Je suis admin sur mon blog, j’ai donc tous les droits.
Dernière modification par #Traceur (01-05-2008 09:59:34)
Hors ligne
#2 01-05-2008 12:21:22
Re: Comment utiliser xmlrpc.php ??
Regarde du coter de:
http://www.journaldunet.com/developpeur … lrpc.shtml
Mais vous savez, je crois pas qu'il y ai de bon ou mauvais blog... Enfin si je devais résumer ma vie aujourd'hui avec vous, je dirais que c'est d'abord des rencontres, des blogs qui m'ont tendu la main peut être à un moment où je ne pouvais pas, où j'étais seul chez moi.

WP-Box: Travailler avec un spécialiste des technologies WordPress !
Hors ligne
#3 01-05-2008 13:16:01
Re: Comment utiliser xmlrpc.php ??
L'exemple que tu donne sers à editer un billet ! pour en creer un il faut envoyer cette chaine à php:
Code:
- <?xml version="1.0" encoding="UTF-8" ?>
- <methodCall>
- <methodName>wp.newPage</methodName>
- <params>
- <param>
- <value><int>25969</int></value>
- </param>
- <param>
- <value><string>login</string></value>
- </param>
- <param>
- <value><string>mot-de-passe</string></value>
- </param>
- <param>
- <value>
- <struct>
- <member>
- <name>title</name>
- <value><string>Titre du billet</string></value>
- </member>
- <member>
- <name>description</name>
- <value><string>contenu du biillet</string></value>
- </member>
- <member>
- <name>mt_keywords</name>
- <value><string>tag1,tag2</string></value>
- </member>
- <member>
- <name>categories</name>
- <value>
- <array>
- <data>
- <value>catégorie-1</value>
- </data>
- </array>
- </value>
- </member>
- </struct>
- </value>
- </param>
- <param>
- <value><int>1</int></value>
- </param>
- </params>
- </methodCall>
Tu envois ça sous forme de chaine au fichier xml-rpc.php, en POST (contentType: 'text/xml').
Par contre de mon coté j'ai eu des soucis d'encodage d'entitées html à la réception dans le fichier xml-rpc.php, j'ai du ajouter un petit bout de code perso pour le decodage ...
Hors ligne
#4 01-05-2008 16:22:07
- #Traceur
- Connaisseur WP
- Date d'inscription: 24-07-2006
- Messages: 16
Re: Comment utiliser xmlrpc.php ??
Je sais qu’il sert à éditer un billet, par contre je ne comprends pas pourquoi cela ne fonctionne pas ?
Hors ligne
#5 01-05-2008 19:08:00
Re: Comment utiliser xmlrpc.php ??
Parcequ'il n'est pas construi comme il faut ?
En faisant une recherche de 10 secondes: metaweblog_api, dans l'exemple sur cette page on voit clairement que le xml est différent.
Après peut-ètre il y a un soucis avec la manière dont tu appel la page xml-rpc.php ... Essais avec un simple formulaire ....
Hors ligne
#6 07-05-2008 15:11:23
- #Traceur
- Connaisseur WP
- Date d'inscription: 24-07-2006
- Messages: 16
Re: Comment utiliser xmlrpc.php ??
J’ai reproduit cet exemple, et il fonctionne. Savez vous si je peux envoyer un cookie d’identification plutôt que le mot de passe en clair ? Si oui, comment?
Hors ligne
#7 07-05-2008 22:41:38
- #Traceur
- Connaisseur WP
- Date d'inscription: 24-07-2006
- Messages: 16
Re: Comment utiliser xmlrpc.php ??
Personne ?
Hors ligne
#8 08-05-2008 14:32:26
Re: Comment utiliser xmlrpc.php ??
Alors via un simple POST, je ne pense pas que ce soit possible de se passer du mot de passe et login, par contre je sais que certains éditeurs de blog externe online utilisent une méthode qui n'envoie pas le mot de passe et login en clair, mais je n'ai aucune idées de comment ils procèdent ...
Mais si il n'y a que toi qui utilise le script d'envoi vers xmlrpc.php, ça ne pose pas vraiment de soucis (juste penser à protéger la page du script). PAr contre si ce script est publique, là c'est un réel problème ...
Mais il reste un solution (un peu à l'arrache). Tu envois le login et le mdp crypté (sha, md5, etc ...) et tu modifies le xmlrpc.php pour qu'il compare/decode le login et mdp seulement si le referer est bien ton script et si la méthode (edition, nouveau billet, ...) est la bonne.
Mais à quoi va te servir ce script ?
Hors ligne






