par

Comment faire pour se connecter à un site internet qui dispose d'un espace membre via un script PHP. Je voudrais que mon script puisse remplir automatiquement le formulaire de connexion, et accéder au contenu de la page membre, merci.

1 Réponse

+1 validé
par

Pour qu'un script PHP remplisse automatiquement un formulaire de connexion et accède à la page protégée par ce formulaire, vous pouvez utiliser la librairie Curl.

Voici les différentes étapes que vous devez accomplir avec PHP et Curl :

  • Spécifier l'URL de la page de connexion, et celle qui est protégée.
  • Définir un User Agent.
  • Lister les arguments de connexion.
  • Gérer les notions de SSL, temps maximum de connexion et redirections.
  • Soumettre le formulaire de connexion.
  • Récupérer les cookies et les sessions.
  • Accéder au contenu de la page protégée.

Avant toute chose vous devez inspecter le code source HTML du formulaire de connexion pour identifier tous les arguments qui sont passés en GET ou POST par le formulaire.

Généralement il y a trois arguments : celui de l'identifiant de connexion, celui du mot de passe, et celui qui correspond au bouton d'envoi.

Ensuite vous devez utiliser Curl et ses différentes options pour accomplir les différentes étapes listées ci-avant.

Voici exemple de script pour se connecter à un site internet avec PHP et Curl, puis accéder au contenu de la page protégée :

<?php
$script = curl_init();
curl_setopt($script, CURLOPT_URL, 'https://www.exemple.fr/connexion.php');
curl_setopt($script, CURLOPT_USERAGENT,'Mozilla/5.0 (X11; Linux x86_64)');
curl_setopt($script, CURLOPT_POST, true);
curl_setopt($script, CURLOPT_POSTFIELDS, "login=login&user_name=identifiant&user_pass=mot_de_passe");
curl_setopt($script, CURLOPT_RETURNTRANSFER, true);
curl_setopt($script, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($script, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($script, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($script, CURLOPT_TIMEOUT, 120);
curl_setopt($script, CURLOPT_MAXREDIRS, 10);
curl_setopt($script, CURLOPT_COOKIESESSION, true);
curl_setopt($script, CURLOPT_COOKIEJAR, ''.dirname(__FILE__).'/cookie.txt');
curl_setopt($script, CURLOPT_COOKIEFILE, ''.dirname(__FILE__).'/cookie.txt');
$connexion = curl_exec($script);
if (curl_error($script)) {
    echo curl_error($script);
}
else
{
curl_setopt($script, CURLOPT_URL, 'https://www.exemple.fr/membres.php');
curl_setopt($script, CURLOPT_POST, false);
curl_setopt($script, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($script, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($script, CURLOPT_POSTFIELDS, "");
$contenu = curl_exec($script);
if (curl_error($script)) {
echo curl_error($script);
}
else
{
echo $contenu;
}
}
?>

Lectures Recommandées

Régis Chaperon - Welcome Reset

"Lorsqu'un virus informatique d'une nouvelle génération infecte en quelques heures les systèmes de distribution électriques, le monde entier se retrouve plongé dans le noir. Les banques, les distributeurs de billets, le chauffage, tout s'arrête."

Mais si même une intelligence artificielle américaine est incapable de vaincre le virus, est-ce qu'un homme qui a fui la modernité saura découvrir la faiblesse de ce virus informatique inconnu ?

Welcome Reset est un roman bien rythmé, efficace et réaliste.

Edward Snowden - Mémoires vives

"Je m'appelle Edward Joseph Snowden. Avant, je travaillais pour le gouvernement mais aujourd'hui je suis au service de tous. Il m'a fallu près de trente ans pour saisir la différence et quand j'ai compris, ça m'a valu quelques ennuis au bureau."

L'homme qui a tout risqué pour dénoncer la surveillance globale, ou l'extraordinaire histoire d'un garçon brillant qui a grandi "en ligne", d'un homme devenu espion, puis lanceur d'alerte, et, en exil, la consciencce de l'internet.

Mémoires vives est un témoignage exceptionnel, également disponible en numérique.

Sujets Connexes

Offre Sponsorisée

Ailleurs sur le Web

Merci pour votre visite sur 1FORMATIK.com

Un petit clic sur la pub est toujours apprécié, c'est elle qui finance le site

Bon surf

...