Accueil > Forum > > > > se loguer sur facebook sans passer par facebook (code php)
se loguer sur facebook sans passer par facebook (code php)
mardi 18 août 2009 à 14:36:54 |
se loguer sur facebook sans passer par facebook (code php)

fanProg
|
Bonjour tout le monde,
En fait je suis entrain de developper une application web.
Celle-ci doit permettre à ses utilisateurs de mettre à jour leur statut facebook sans passer par facebook.com, il suffit juste qu'il indique leur email et leu password.
Mais là je suis coincé :(
je sais pas si quelqu'un aurait une idée là-dessus ou un bout de code, ça me fera très plaisir!!!
Merci d'avance pour votre aide,
Cordialement
|
|
mardi 18 août 2009 à 18:37:13 |
Re : se loguer sur facebook sans passer par facebook (code php)

kohntark
|
Salut,
Regarde du côté de l'API facebook connect (http://developers.facebook.com/connect.php) il y a des exemples de code.
Sinon il faudra te tourner vers une analyse du code source des pages et simuler une connexion via curl ou les sockets.
Cordialement,
Kohntark -
|
|
mardi 18 août 2009 à 18:52:15 |
Re : se loguer sur facebook sans passer par facebook (code php)

fanProg
|
Merci beaucoup pour votre reponse Kohntark, c gentil.
En fait, j'ai déjà été sur le lien que vous m'avez donné mais j'avance pas trop avec...
Par contre, avec mes recherches j'ai lu effectivement quelque part, que c'est plus facile avec CURL que vous venez d'evoquer dans votre msg, mais que je connais pas encore, donc je sais pas trop si vous pouvez me guider sur ce chemin, je vais essayer de m'y mettre.
Merci d'avance pour votre reponse,
Cordialement,
fanProg
|
|
mardi 18 août 2009 à 19:16:41 |
Re : se loguer sur facebook sans passer par facebook (code php)

kohntark
|
Je ne connais pas l'API Facebook, mais j'imagine qu'il sera plus simple de l'utiliser que de passer par curl.
Sans compter la flexibilité, la pérennité et la sécurité.
Cela étant il doit être assez simple de s'y connecter via curl, mais ça risque de te demander plus de travail au final. Il te faudra également maitriser les expressions régulières pour pouvoir parser les pages retournées.
Je ne saurai que trop te conseiller de te tourner vers la doc qui est relativement complète et de revenir poser tes éventuelles questions.
Cordialement,
Kohntark -
|
|
mercredi 19 août 2009 à 10:57:34 |
Re : se loguer sur facebook sans passer par facebook (code php)

fanProg
|
Encore merci Kohntark,
Au fait par rapport à l'API Facebook, je l'ai déjà implémenté, sauf que lorsque je lance l'application, on me fait passer sur une page d'authentification, puis après tout se passe bien, ce que je voudrais c'est que la connexion se passe automatiquement par indication de l'adresse mail et du password comme variables dans le code sans passer par une page où il faut les saisir.
Maintenant ce que je voudrais savoir : est-il possible de mixer CURL avec l'API pour remedier au problème? car seulement avec l'API j'ai pas pu me debarasser de cette page d'authentification :(
Merci d'avance pour votre reponse,
Cordialement,
fanProg
|
|
mercredi 19 août 2009 à 14:21:23 |
Re : se loguer sur facebook sans passer par facebook (code php)

kohntark
|
Ne connaissant pas l'API je suis un peu sec pour te répondre , mais partant du principe qu'avec curl (et plus généralement les sockets) tu peux simuler n'importe quelle navigation "humaine" la réponse est sans aucun doute : oui, c'est possible.
Malgré mon niveau très très moyen j'ai déjà codé plusieurs robots sans jamais me heurter à un problème insoluble, y compris sur des sites qui mettent en place des mesures de protection et de sécurisation (pour ne pas me faire incendier : il n'y a là aucun piratage, aucun "pompage" ou vol d'informations, je ne fais qu'automatiser ce qu'il serait possible de faire manuellement) ... alors facebook, pourquoi pas.
Par contre, et pour argumenter un peu mon dernier post à propos de l'utilisation de curl :
- pérennité :
le moindre changement de l'API (ou du site) peut rendre ton code inopérant :
pour simuler une navigation "humaine" tu as besoin de parser à l'aide de regex les pages renvoyées afin d'identifier certaines données nécessaires à cette navigation; une virgule de plus, un tag HTML en moins et plus rien ne fonctionne. Facebook étant un site au contenu très dynamique (et un peu bordelique aussi) c'est risqué.
En utilisant l'API tu peux être sur que cela ne changera pas du jour au lendemain (du moins c'est bien moins fréquent)
- sécurité :
Tu comptes demander les log / pass facebook à tes utilisateurs ou ai je loupé quelque chose ?
Si c'est le cas il faut une sacrée confiance en ton site pour les fournir, perso je ne le ferai pas.
- flexibilité :
En utilisant curl tu limites les possibilités qui te sont offertes, ou alors il faut tout réimplémenter, mais bonjour l'arrachage de cheveux. Pour l'heure tu ne souhaites que modifier le statut ... mais demain ?
Bref, sans trop m'être penché sur la question j'utiliserai l'API, puisqu'elle existe (c'est une chance, sisi ) et qu'elle offre des possibilités, à première vue, fort sympas. Et puis l'interface est bien foutue (renseignement automatiquement des champs login/pass, ...)
Si tu souhaites continuer avec curl n'hésites pas à poster ton code, ça sera intéressant.
Cordialement
Kohntark -
|
|
mercredi 19 août 2009 à 16:11:53 |
Re : se loguer sur facebook sans passer par facebook (code php)

fanProg
|
Une fois de plus, merci Kohntark pour l'effort fourni pour me repondre.
Je suis tout à fait d'accord avec vous concernant l'API, mais comme je vous ai déjà dit, je l'ai essayé et ça marche parfaitement sauf que ça ne fait pas ce que je veux :(
car avant d'acceder à l'application, le code de l'API me fait passer par une page de saisie de login/pass ... eh bien c'est ce que je voudrais rendre automatique !
Après avoir pris connaissance de CURL grâce à vous, et vu que je suis fan de la programmation, j'ai entamé des recherches qui se sont soldées par ce bout de code qui repond à mon sens à ce que je veux, je l'ai toute suite testé en fournissant des valeurs correctes aux variables mais ça m'affiche
cette erreur: Undefined offset : 1... et ça m'indique la ligne où se trouve form_id[1], avez-vous une idée??? ça me fera très plaisir !!!!!
Dans l'attente de votre reponse,
merci d'avance !
Cordialement,
fanProg
voici le code :
$status = 'YOUR_STATUS';
$first_name = 'YOUR_FIRST_NAME';
$login_email = 'YOUR_LOGIN_EMAIL';
$login_pass = 'YOUR_PASSWORD';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php?m&next=http%3A%2F%2Fm.facebook.com%2Fhome.php');
curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($login_email).'&pass='.urlencode($login_pass).'&login=Login');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
curl_exec($ch);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_URL, 'http://m.facebook.com/home.php');
$page = curl_exec($ch);
curl_setopt($ch, CURLOPT_POST, 1);
preg_match('/name="post_form_id" value="(.*)" \/>'.ucfirst($first_name).'/', $page, $form_id);
curl_setopt($ch, CURLOPT_POSTFIELDS,'post_form_id='.$form_id[1].'&status='.urlencode($status).'&update=Update');
curl_setopt($ch, CURLOPT_URL, 'http://m.facebook.com/home.php');
curl_exec($ch);
?>
|
|
samedi 22 août 2009 à 09:32:44 |
Re : se loguer sur facebook sans passer par facebook (code php)

kohntark
|
Salut FanProg,
Je n'ai pas eu trop le temps de me pencher sur ton pb, j'avais juste fait un essai de ton code et constaté la même erreur, qui semble venir de la regex "preg_match('/name="post_form_id" value="(.*)" \/>'.ucfirst($first_name).'/', $page, $form_id);" Il faudrait analyser le code retourné par facebook et contrôler ce '/name="post_form_id" value="(.*)" \/>'
Où en es tu à présent ?
Cordialement,
Kohntark -
|
|
lundi 24 août 2009 à 18:08:41 |
Re : se loguer sur facebook sans passer par facebook (code php)

fanProg
|
Salut Kohntark,
Au fait, le problème a été resolu.
En effet, il fallait juste créer un formulaire et passer le nom de celui-ci dans la regex "preg_match".
Je ne saurai terminer sans vous remercier une fois de plus pour vos feed-back qui m'ont été d'une grande utilité!
Cordialement,
fanProg
|
|
vendredi 4 septembre 2009 à 20:39:59 |
Re : se loguer sur facebook sans passer par facebook (code php)

DAMIAN0
|
Bonsoir,
Comme toi fanProg je tente de faire une connexion a facebook de manière auto, j'ai tester ton code.
j'ai modifier la ligne:
curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php?m&next=http%3A%2F%2Fm.facebook.com%2Fhome.php');
par
curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php?login_attempt=1');
Et j'obtiens Notice: Undefined offset: 1 in ...
tu parle de créer un formulaire dans la regex "preg_match".. je ne saisi pas vraiment ce qu'il faut faire, pourrais tu m'éclairer s'il te plait
Merci d'avance
Salutations
|
|
Cette discussion est classée dans : code, php, passer, loguer, facebook
Répondre à ce message
Sujets en rapport avec ce message
création une application facebook avec l'api facebook en php [ par lasscam ]
Bonjour tout le monde, en fait je suis entrain de créer ma prémière application facebook, pour ce faire je me sers de son api dont le code est en php.
Problème URL en PHP suite à un bouton [ par lefoudebeutre ]
Bonjour à tous et à toutes, j'ai un souci sur un code fourni par Facebook, ce code sert à implanter le bouton "J'aime" de Facebook sur n'importe que
connexion compte facebook avec prestashop [ par mothe ]
Bonjour, Je suis actuellement entrain de réaliser un site e-commerce intégré dans facebook avec prestashop, mais je suis bloqué. j'ai réalisé un mod
Application facebook : Publiez sur un mur [ par quinton75 ]
Bonjour, [^^clinoeil1][^^clinoeil1] Je souhaite développer une application qui donne la possibilité au visiteur de publier une des photos de la f
Lire/traduire du code php depuis la base de donnée [ par bruce207 ]
Bonjour, j'ai un code en php qui s'execute lorsque je l'insère directement dans la page php (il sert à affiché un diaporama) et il s'affiche alors sur
Un code pour temps d'attente ! [ par 15miuteslive ]
Bonjour à tous ! Voila, cela fait maintenant plusieurs heures que je cherche en vain un code PHP. Vous allez me dire : "Quoi comme code ?" Voila ce q
Code source PHP [ par mostafaboukhar ]
Salut tout le monde j'ai besion du code php qui calcule la distance en 2 aéroports merci
Perte de session avec ie ??? [ par gfpl ]
Bon voila le souci je peut le tourner comme je veut mais je ne trouve pas la solution .... j'essaie en vain mais non... la session marche avec chrome
code php html [ par ibnLaye ]
Slut a tous je suis un grand débutant en developpement web et j'ai un projet sur le quel je dois presenter un fomulaire d'enregistremnt avec une list
GLPI interface [ par marwamaritta ]
Bonjour, je suis en train de faire une application d'audit avec un code en php; je veux créer une interface en GLPI à l'aide du code php; mon probl
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|