PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Emploi de cURL » 16-02-2010 22:28:29

Bonsoir xTG,

Voici le script avec ce que tu me soumets :

<?php
header("Content-type: text/xml; charset=utf-8");
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);      
curl_setopt($ch, CURLOPT_URL, "proxy_url");
curl_setopt($ch, CURLOPT_HEADER, false);
echo ("skypeXML=" . curl_exec($ch));
curl_close($ch);
?>

Mais, hélas, cela ne change rien ...
J'ai aussi changé la variable "proxy_url" en mettant le lien en dur http://mystatus.skype.com/mon_identifiant_skype.xml
mais cela ne change rien non plus. Plus fort, si je mets n'importe quoi à la place de "proxy_url" (exemple : proxyyy_url), le résultat est identique donc visiblement le script ne va même pas à la ligne curl_setopt($ch, CURLOPT_URL, "proxy_url");
Je dois bien reconnaître que je suis perdu !
<soupir>
Dominique,

#2 Re : Forum Général PHP » Emploi de cURL » 16-02-2010 22:28:29

Bonsoir xTG,

Quand je dis que le script modifié n'affiche rien de cohérent, cela veut simplement dire que l'application Skype en Flash ne reconnait pas si je suis connecté ou non sur Skype ... il garde le statut 'online' même si je suis déconnecté. Il n'y a pas (apparemment) de souci d'encodage de caractères.
Je suis certain que sur un serveur qui accepte file_get_contents, l'application Flash fonctionne très bien.
Merci.

#3 Re : Forum Général PHP » Emploi de cURL » 16-02-2010 22:28:29

Bonjour et merci encore xTG,

Le script PHP modifié :

<?php
header("Content-type: text/xml; charset=utf-8");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, proxy_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
echo ("skypeXML=" . curl_exec($ch]));
curl_close($ch);
?>

par apport à celui d'origine :

<?php
header("Content-type: text/xml; charset=utf-8");
echo ("skypeXML=" . file_get_contents($_GET["proxy_url"]));
?>

Malheureusement, le script modifié n'affiche rien de cohérent.

Où serait l'erreur ?
Merci d'avance.
Dominique,

#4 Re : Forum Général PHP » Emploi de cURL » 16-02-2010 22:28:29

Bonjour,

J'ai donc envoyé à mon hébergeur ce que contenait la variable proxy_url et il n'en démord pas, le bougre ;-)

C'est bien une URL externe, vous devez donc utiliser des fonctions prévuées pour l'accès externe comme les fonctions CURL et non pas les fonctions "fichiers".

On en est donc de nouveau au point de départ; je ne peux pas utiliser file_get_contents mais curl ... mais comment dans ce sript :

<?php
header("Content-type: text/xml; charset=utf-8");
echo ("skypeXML=" . file_get_contents($_GET["proxy_url"]));
?>

Merci d'avance.
Dominique,

#5 Re : Forum Général PHP » Emploi de cURL » 16-02-2010 22:28:29

re bonjour xTG,

Voilà où intervient la variable proxy_url (dans la classe de l'application Flash) :
req.data = new URLVariables("proxy_url=http://mystatus.skype.com/" + skypeName + ".xml");
Il y a donc demande d'un fichier xml du serveur Skype.
On peut d'ailleurs essayer : http://mystatus.skype.com/mon_identifiant_skype.xml et on peut ainsi voir via cette URL si mon_identifiant_skype est connecté ou non ...
Visiblement, il n'y a rien de bien méchant dans cette variable proxy_url ;-)
Bien à toi.
Dominique,

#6 Re : Forum Général PHP » Emploi de cURL » 16-02-2010 22:28:29

Bonjour xTG,
C'est exactement ce que m'a dit mon hébergeur. Il m'a donné aussi un exemple (tout comme toi) de hacking.
Donc, je réitère ma question : comment utiliser curl dans ce script pour pouvoir faire appel à une URL externe.
La variable proxy_url ne contient pas de code malicieux, c'est simplement pour faire fonctionner une application Skype en Flash (qui permet de voir si l'interlocuteur est connecté ou non, de lancer une discussion ou un appel vocal Skype) depuis un site web.
Si vraiment, vous pressentez que cette variable peut être dangereuse, je peux demander à l'auteur ce que fait exactement proxy_url.
Dans le fichier fla, il n'y a pas d'appel ou d'accès à cette variable en tout cas.
Bien à vous et merci.
Dominique,

#7 Forum Général PHP » Emploi de cURL » 16-02-2010 22:28:29

dom1706
Réponses : 13

Bonjour,

J'ai un petit script PHP qui permet de connaître le statut (connecté ou non) pour une application Skype en Flash.
Voici le script :

<?php
header("Content-type: text/xml; charset=utf-8");
echo ("skypeXML=" . file_get_contents($_GET["proxy_url"]));
?>

Mon hébergeur me dit que ce script n'est pas bon car, pour des raisons de sécurité, l'interprétation des URL comme étant des fichiers est désactivée, la fonction file_get_contents doit donc bien ouvrir un fichier local et non pas faire appel à une URL externe.
Il me conseille d'utiliser plutôt la fonction curl.
J'ai parcouru quelques tutoriels concernant cette fonction mais j'avoue être perdu ...

Que devrais-je faire dans ce petit script pour que n'apparaisse plus le problème de sécurité ?

Merci d'avance.
Dominique,

Pied de page des forums

Propulsé par FluxBB