![]() |
| |||||||
| S'inscrire | FAQ | Membres | Calendrier | Recherche | Messages du jour | Marquer les forums comme lus |
![]() |
| LinkBack | Outils de la discussion | Modes d'affichage |
| |||
| Pascale a écrit : > On commence par faire : > > $ch=curl_init($url); > puis on récupère le code erreur éventuel avec > > curl_errno($ch); > > Mais en fait non, j'ai rien compris ? Si...? curl_init créé une ressource, et l'initialise avec le paramètre s'il lui est fournit. curl_setopt te permet de configurer ta ressource. Il faut savoir que, par défaut, curl va télécharger la page distante et renvoyer le contenu vers ton navigateur. Donc si tu veux seulement vérifier que la page existe, tu peux utiliser le code suivant : function check_url($url) { $socket = curl_init($url) ; curl_setopt($socket, CURLOPT_NOBODY, true) ; $message = curl_exec($socket) ? curl_getinfo($socket, CURLINFO_HTTP_CODE) : curl_error($socket) ; curl_close($socket) ; return $message ; } À noter que le message renvoyé n'est pas forcément une erreur. Je profites du thread pour soulever un point concernant curl et la sécurité. En fournissant directement l'URL de l'utilisateur Ã*** Curl, n'y a-t-il pas potentiellement un problème de sécurité ? -- Mickaël Wolff aka Lupus Michaelis http://lupusmic.org |
| | ||||
| ||||
| |
| |||
| Patrick Mevzek a écrit : > Le Mon, 07 Jul 2008 12:36:13 +0000, Mickaël Wolff a écrit: >> En fournissant directement l'URL de l'utilisateur Ã*** Curl, n'y >> a-t-il pas potentiellement un problème de sécurité ? > > Si, multiples même. J'ai un peu fouillé, et c'est en fait un énorme trou si on ne fait pas attention. Merci pour les infos. Pascale, le bout de code que j'ai fournit Ã*** titre d'illustration n'est pas sécurisé. Il ne faut pas l'utiliser en production. Je regarde pour faire une classe mieux fagotée, je la posterais ici. -- Mickaël Wolff aka Lupus Michaelis http://lupusmic.org |
| |||
| Olivier Miakinen a écrit : > Tu aurais un lien (si possible traduit en français) ? C'est vrai que moi aussi ça m'aurait aider. Cependant, en essayant l'url file:///etc/passwd dans curl_init, même en configurant l'option CURLOPT_NOBODY Ã*** true le contenu du fichier est affiché :-D > Je n'ai pas bien compris ce que ça fait (il faut dire que je ne suis pas > allé voir ce qu'était LWP::UserAgent dont il dérive). Ce que je pense qu'il faut en retirer, c'est la limitation du timeout (pour éviter les redirections éternelles), l'exclusion d'hôtes sensibles afin d'éviter de détourner la fonctionnalité pour sonder le voisinage réseau, etc. Tiens, si ça ce trouve, en utilisant la fonctionnalité telnet, on peut éventuellement utiliser ça pour faire du spam :-D (oui, c'est une obsession). > Oui, bien sûr. Mais dans ce cas, quel genre de contrôle ferais-tu sur > l'URL qui pourrait minimiser les risques lors de la connexion par CURL ? Vérifier que c'est une URL désignant une ressource HTTP est un bon début en fait. C'est d'ailleurs ce que je suis en train de corriger dans mes devs. Je n'avais pas réalisé la puissance de cURL. -- Mickaël Wolff aka Lupus Michaelis http://lupusmic.org |
| |
| |
![]() |
| Tags: lexistence, site, tester |
| Outils de la discussion | |
| Modes d'affichage | |
| |
| ||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Re: Tester l'existence d'une fonte | Thomas vO | Newsgroup fr.comp.text.tex | 5 | 13/06/2008 12h50 |
| Re: [MSDOS] Tester l'existence d'un disque amovible | Sergio | Newsgroup fr.comp.os.ms-windows | 0 | 05/04/2008 08h44 |
| Tester l'existence d'un onglet dans un classeur | Jacques | Newsgroup microsoft.public.fr.excel | 5 | 16/02/2008 16h08 |
| Re: tester l'existence d'un répertoire | Gilles MOUGNOZ | Newsgroup microsoft.public.fr.access | 0 | 28/01/2008 10h48 |
| Tester l'existence d'un champ à l'execution | Geo55 | Newsgroup fr.comp.lang.pascal | 6 | 11/10/2006 13h55 |