Tester une url avec profil et mot de passe.

Signaler
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008
-
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008
-
Bonjour à tous. J'ai un problème qui me semble un peu complexe à résoudre. Je vais essayer d'être cair, même si c'est un peu long,veuillez m'en excuser

Je travaille dans une grosse société à l'exploitation informatique, et je dois chaque matin vérifier que tous mes sites internet et intranet sont bien lancés et actifs.

Pour celà j'ai une longue liste d'URLS que j'ai en favoris. C'est écrit de telle manière que je ne peut pas mémoriser profils et mots de passe, et travaillant sous Citrix, je n'ai pas possiblité de faire des macros pour taper tout ca (manque d'autorisations). Je suis donc obligé de cliquer 30 fois sur mes url et me palucher user et pwd.

Je souhaiterais donc faire un petit script php qui me permettrais de tester ma trentaine d'URL en une seule opération, c'est à dire juste appeler les pages d'accueil avec un profil et un mot de passe que je connais, et analyser la réponse du serveur pour renvoyer un OK ou un KO.

Si quelqu'un pvait m'expliquer la marche à suivre, ou au moins me donner des pistes de recherche

Merci à tous ceux qui font vivre ce site et à ceux qui prendront la peine de me lire ou de me répondre.

Luc

13 réponses

Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008

Je précise juste que je connais un peu PHP, mais sans être un "pro" de la chose

Merci
Luc
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
24
Tu peux essayer d'utiliser le module curl de php
le code suivant permet de ce connecter à un site en utilisant un login et un mot de passe.
Il faut ensuite tester $code qui contient le code html de page ( = 200 si ok)

    $connect_string = "login:password" ;
    $connect_string = stripslashes ( $connect_string ) ;
    $ch = curl_init( "http://www.monsite.fr/") ;
    curl_setopt ( $ch, CURLOPT_USERPWD, $connect_string ) ;
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE ) ;
    curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE ) ;
    curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 0 ) ;
    curl_exec ( $ch ) ;
    $code  = curl_getinfo ( $ch, CURLINFO_HTTP_CODE ) ;
    curl_close ( $ch ) ;
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008

Re salut. Je viens de tester, mais il doit me manquer quelque chose, car j'obtiens ca:
Fatal error: Call to undefined function curl_init() in C:\wamp\www\testsrexel\test.php on line 9
 Est ce que la fonction curl est liée à une certaine version de php? Là je teste avec wamp5 et PHP 5.2.3

Merci d'avance.
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008

Excuses j'ai trouvé tout seul il fallait que j'active l'extension curl dans wamp5  

A priori ca fonctionne, je refais quelques tests

Merci encore
Luc
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
24
Il doit te manquer l'extension php_curl.
http://fr2.php.net/manual/fr/curl.installation.php
"
If you are using WAMPserver, you can enable the cURL extensions by

Left-click on WAMPserver tray icon>PHP>PHP extensions> Check php_curl.


Its already loaded on your disk, you have to activate it."
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008

C'est bien ce que j'avais fait merci!
Mais dans tout les cas, url bidon ou mot de passe bidon, il me sort en code 200 come si c'était normal
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
24
Même si tu essayes d'accèder à une ressource qui est normalement accessible qu'en mode connecté ?
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008

Bin oui!
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008

Attend j'ai peut être mal pigé je vais essayre autrement
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008

En fait j'ai exactement ca, ou le http//www.etc... est ma page de login:

$connect_string = "lechef:testeur" ;
    $connect_string = stripslashes ( $connect_string ) ;
    $ch = curl_init( "http://www.xxxxxxx.com/forum/index.php?fog_r=login&fog_action=1") ;
    curl_setopt ( $ch, CURLOPT_USERPWD, $connect_string ) ;
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE ) ;
    curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, TRUE ) ;
    curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 1 ) ;
    curl_exec ( $ch ) ;
    $code  = curl_getinfo ( $ch, CURLINFO_HTTP_CODE ) ;
    curl_close ( $ch ) ;
echo '** '.$code.' **';
If ($code == "200")
    {echo 'OK';
     exit;};
echo 'KO';
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
24
Si tu te connecte sur la page d'accueil c'est normal d'avoir toujours le code 200. Car tout le monde à le droit d'aller voir cette page. Le login et le mot de passe te servent si tu est dans le cas je suis sur un page et qu'il y a une mire de login qui apparait.
Si tu vas sur la page d'accueil essayes de supprimer la partie avec la connexion string et remplacer le www.monsite.fr/index.php?fog_r=login&fog_action=1&login=...&password=... (login et password doivent etre les noms des champs du formulaire d'authentification)
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008

Okidoc

Mais je testerais demain, là je vais avoir fini la journée. Depuis 6 heures ce matin ca me suffit ;-)

Merci encore
Messages postés
12
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
2 août 2008

Bon, merci encore mais j'ai réflchi ca ne peut pas marcher comme ca. De toutes facons j'accède à TOUTES mes pages PHP sans problèmes, avec juste un contenu différent qui dit que l'on est pas autorisé!
Donc ca ne résoud en aucun cas mon problème il va falloir trouver autre chose.

Mais je garde ce code précieusement ce code pour tester l'xistence d'une URL, c'est excellent, merci encore