Version complète: sur le forum Webmaster Hub : XML-RPC
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > XML et ses dialectes
lafi
Je souhaiterais savoir si les communications XML-RPC entre deux serveurs sont sécurisées ? Si non comment els sécurisées ?

Existe t il un autre procédé de communication inter serveur simple...
Dadou
Tout dépend du niveau de sécurité que tu as besoin, il est possible de crypter les échanges, mais comme tout cryptage, cela peut être cassé.

C'est pour faire quoi??
lafi
Transfer de stock, transfer de commande entre différents serveurs...?
Dadou
Pour ce genre d'infos, si c'est fait correctement, c'est suffisamment sécurisé (enfin tant que les coordonnées bancaires des commandes ne transitent pas), tu peux ajouter un cryptage lors du transfert de données, cela ne mange pas de pain.
lafi
Aucune inquiètudes les données bancaires ne sont jamais transmises...

Quel type de cryptage faudrait t'il mettre en place... exemple?

Merci d'avance
Dadou
J'utilise la bibliothèque mcrypt de php pour le faire, un petit tuto dessus : http://www.phpfrance.com/tutoriaux/index.p...nt-mcrypt-ripat
lafi
On va faire cela merci bcp
Kioob
L'utilisation d'une connexion HTTPS avec identification du client grâce à un certificat ne serait elle pas "préférable" ? Remarque, ce n'est pas forcément plus simple à mettre en place...
lafi
Et cela coute surement bcp plus cher...

Cout certificat...
Kioob
Pour un transfert entre deux serveurs vous appartenant, utiliser des certificats "signés" n'apporte rien sur le plan sécurité. Autant en rester aux certificats "auto signés" à mon avis.
lafi
Les deux serveurs ne m'appartiennent pas...
destroyedlolo
Si les transferes doivent se faire entre 2 companies distinct, je te conseille de faire un tour du cote de "Rosettanet" et autre "EDIINT" qui offrent des standards pour ce genre de communication (messages standards, corregraphies, scenario de recoveries ...).

Par contre, ca coute bonbons ...
Dadou
Faire communiquer deux serveurs distinct c'est tout de même le propre des webservices (SOAP, XML-RPC, REST), les protocoles de communications doivent avoir un niveau de sécurité correct, Google, Amazon et eBay utilisent les webservices pour leurs différentes API. J'ai déjà réalisé un webservice de réservation hôtelière.

Si tu veux être sûr de la sécurité, un système relativement simple :

- A chaque "client" tu associes une "clé d'identification" et une "clé de cryptage",
- Dans chacun des échanges le client devra envoyer la "clé d'identification" et les données cryptés par (un des algo de mcrypt par exemple),
- Le serveur principal reçoit la "clé d'identification" et la demande cryptée,
- Effectue le décryptage de la demande, si la demande décrypté est cohérente, retourner la réponse elle aussi cryptée, et ainsi de suite.

voila les fonction que j'utilise pour crypter et décrypter (la pour un mot de passe, mais c'est valable pour toute chaine de charactères) :
CODE-BOX
function crypt_password($password, $cle)
{
$td = mcrypt_module_open("blowfish", "", "ecb", "");
$key = substr($cle, 0, mcrypt_enc_get_key_size($td));
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);

mcrypt_generic_init($td, $key, $iv);

$encrypted = mcrypt_generic($td, $password);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

return $encrypted;
}



// Décrypter un mot de passe
function decrypt_password($password, $cle)
{
$td = mcrypt_module_open("blowfish", "", "ecb", "");
$key = substr($cle, 0, mcrypt_enc_get_key_size($td));
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);

mcrypt_generic_init($td, $key, $iv);
$decrypted = mdecrypt_generic($td, $password);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);

return $decrypted;
}


l'algo utilisé est blowfish qui est assez performant : http://fr.wikipedia.org/wiki/Blowfish
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.