Aller au contenu


[Aide] Récupérer une variable sur le site de quelqu'un d'autre


22 réponses à ce sujet

#1 MrCrash357

    Petit nouveau

  • Membres
  • Pip
  • 34 messages

Posté 14 juillet 2010 - 18:37

Salut,

Avant tout je préfère vous dire que je n'ai jamais programmé, mis en place de site web ou quoi que ce soit dans ce genre.
Mais depuis quelques jours je commençais à faire mumuse avec des petits scripts enregistrés avec AutoIt.
Je me demandais si c'était possible d'accéder aux infos de certains sites web avec ça, genre récupérer le contenu de variables qui s'affichent sur la page, voir même des infos spécifiques à un compte (en mettant les identifiants quelque part dans le script).
Je ne sais pas non plus comment identifier les noms de variables, j'ai vite fait cliqué sur "afficher le code source de la page", mais je ne sais pas si le code qui s'affiche suffira (si je ne me trompe pas la page est en php, et le code affiché en html)
Ou, si ce n'est pas possible, je me demandais quels genres de scripts pourraient faire ça (quels langages avec quels logiciels).
Merci pour votre aide.

PS: je n'ai aucune idée combien de temps cela peut prendre de réaliser un tel script, alors si le mieux est de commencer par lire un cours généraliste de plusieurs centaines de pages et de le maitriser avant de pouvoir faire quoi que ce soit, n'hésitez pas a me le signaler, ça pourrait m'éviter de faux espoirs (mais si c'est envisageable de commencer par un exemple pratique, alors j'aimerais commencer par là)

PPS: le site dont je parle c'est ogame. je sais pas si vous avez déjà joué à ça un jour, moi j'ai un petit compte presque abandonné (ba faut dire que j'ai pas accès à internet la semaine(et le samedi) ni pendant les vacances et le dimanche j'ai autre chose à faire souvent, mais je sais pas pourquoi je veux pas vraiment le supprimer définitivement, d'où l'idée de tout automatiser (j'ai déjà un script pour ça mais il est vraiment basique, il ne fait qu'une action, et toujours la même sans s'adapter à la situation).

#2 Bashy

    Korbenaute

  • Membres
  • PipPip
  • 191 messages

Posté 14 juillet 2010 - 18:43

Le code source PHP n'est jamais visible pour le client, vu qu'il est interprété côté serveur !, contrairement au javascript, qui, lui est exécuté côté client (par le navigateur).
Le serveur HTTP demande à PHP d'interpréter les scripts (code source), et généralement (pour les sites cela va de soit) l'interpréteur PHP renvoit seulement du HTML, que le serveur HTTP envoie au client.
Il est donc impossible de deviner le code source PHP ;) , et heureusement, car ils contiennent souvent les mots de passe d'accès à la base de données.

EDIT : Après avoir lu ton PPS, je pense que tu cherches à réunir certaines informations et automatiser (par un script) l'action à faire selon celles-ci, peux-tu nous éclairer?

Modifié par iMeee, 15 juillet 2010 - 20:57.
Pas de double post, merci !

Fervent Pro-IPv6 - Étudiant (Master 1 - BAC+4 - Spécialité Réseaux, UPMC) - Blog

#3 Jeoffrey54

    Super Korbenaute

  • Membres
  • PipPipPip
  • 580 messages

Posté 14 juillet 2010 - 19:00

Je ne suis pas sûr, mais ce genre de chose n'est-il pas interdit par Ogame ?

Un pote à moi voulait aussi faire ça, et on lui a clairement dit que ce genre de script n'avait pas sa place sur ce jeu.
Jeoffrey ;)
www.jeoffrey54.com

#4 Crash

    Korbenaute

  • Membres
  • PipPip
  • 170 messages

Posté 14 juillet 2010 - 20:43

Il est tout à fait possible de faire ce genre de chose en passant via curl et en analysant ce que demande ogame comme variables de session. Ensuite tu peux récupérer le contenu rendu d'une page (le contenu html) pour ensuite le parser et en faire ce que tu veux.

Je ne donnerais pas de solution, mais j'ai déjà vu traîner des scripts tout fait pour ogame sachant que ça peut entraîner le ban sur le jeu si tu veux faire un script automatique.

#5 MrCrash357

    Petit nouveau

  • Membres
  • Pip
  • 34 messages

Posté 14 juillet 2010 - 20:56

Citation

Je ne suis pas sûr, mais ce genre de chose n'est-il pas interdit par Ogame ?
C'est clairement interdit, mais sans ça je ne peux pas jouer (mon compte existerait toujours, évidemment, mais je pourrais rien en faire)
Si je ne fais pas ça, ça revient à me bannir moi-même en gros.

Citation

Le serveur HTTP demande à PHP d'interpréter les scripts (code source), et généralement (pour les sites cela va de soit) l'interpréteur PHP renvoit seulement du HTML, que le serveur HTTP envoie au client.
J'y étais presque...

Citation

Il est donc impossible de deviner le code source PHP, et heureusement, car ils contiennent souvent les mots de passe d'accès à la base de données.
Mais alors est-ce que ça veut dire que je ne peux rien faire du code que je peux lire?

Quoi qu'il en soit, voilà la partie de code et les 4 variables qui m'intéressent (les ressources):
Spoiler
Si déjà j'arrive à récuperer ça j'imagine que ça sera déjà pas mal

#6 Crash

    Korbenaute

  • Membres
  • PipPip
  • 170 messages

Posté 14 juillet 2010 - 21:06

Comme je te l'ai dit c'est possible. Si tu veux récupérer du contenu que tu peux voir en affichant le code source de la page, il n'y a pas de souci.

Curl te permet de passer des paramètres de sessions à la page que tu vas questionner. Donc en gros tu fais passer dans curl (je ne sais pas comment fonctionne ogame, mais prenons un simple couple login/password) le login & le password, et ensuite tu vas sur la page dont tu veux récupérer le contenu. Tu le lis et tu le stockes dans une variable, et ensuite tu récupères via des expressions régulières le contenu que tu veux.

#7 MrCrash357

    Petit nouveau

  • Membres
  • Pip
  • 34 messages

Posté 14 juillet 2010 - 23:32

Désolé que tu te sois répété, j'étais sur la page de rédaction quand tu as posté la première fois.

J'ai bien trouvé quelques tutos pour curl, mais il s'agit de tutos sur le développement web.
Comme je n'ai pas l'intention de faire tourner mon script sur un serveur, je me demande comment utiliser le curl.
Est-ce qu'il va falloir que j'installe de nouveaux logiciels ?

#8 Crash

    Korbenaute

  • Membres
  • PipPip
  • 170 messages

Posté 15 juillet 2010 - 00:40

Tu peux très bien le faire tourner sur un serveur local. Curl ne s'utilise pas seulement en PHP, il me semble qu'en PERL tu peux l'utiliser aussi, tu as une librairie curl pour le C aussi. Mais si tu n'as jamais programmé ça risque d'être un peu plus délicat... Maintenant si tu es en vacances, que tu souhaites apprendre, c'est le moment de te lancer :lol:.

#9 Bashy

    Korbenaute

  • Membres
  • PipPip
  • 191 messages

Posté 15 juillet 2010 - 03:54

http://fr.php.net/preg_match

<?php 
$host = &#39;www.unsiteweb.com&#39;; // l&#39;hostname du serveur HTTP
$page_req = &#39;/truc.php?phpsessid=0a1b2c3d4e5f6a&#39;; // la page préçise en question que l&#39;on veut
$page_recv = &#39;&#39;; // initialisation de la variable qui contiendra la page (le code html)

$page = fsockopen($host, 80, $errno, $errstr, 10);
if(!$page) {
 echo "$errstr ($errno)<br />\n";
}
else {
 $headers = "GET &#39;.$page_req.&#39; HTTP/1.1\r\n";
 $headers .= "Host: $host\r\n";
 $headers .= "Connection: Close\r\n\r\n";

 fwrite($page, $headers);
 while (!feof($page)) {
  $page_recv .= fgets($page, 1024)."\n";
 }
 fclose($page);
}

preg_match(&#39;@<B>Métal:</B> <br><span class=\&#39;\&#39;>([0-9\.])/([0-9\.])</span>@&#39;, $page_recv, $metal);
preg_match(&#39;@<B>Cristal:</B> <br><span class=\&#39;\&#39;>([0-9\.])/([0-9\.])</span>@&#39;, $page_recv, $cristal);
preg_match(&#39;@<B>Deutérium:</B> <br><span class=\&#39;\&#39;>([0-9\.])/([0-9\.])</span>@&#39;, $page_recv, $deut);
preg_match(&#39;@<B>Energie:</B> <br><span class=\&#39;\&#39;>([0-9\.])</span>@&#39;, $page_recv, $energie);

// un petit tableau où on vire les &#39;.&#39; séparateurs des milliers 
$ressources = Array(&#39;metal&#39; => str_replace(&#39;.&#39;, &#39;&#39;, $metal[1]),
&#39;cristal&#39; => str_replace(&#39;.&#39;, &#39;&#39;, $cristal[1]),
&#39;deuterium&#39; => str_replace(&#39;.&#39;, &#39;&#39;, $deut[1]),
&#39;energie&#39; => str_replace(&#39;.&#39;, &#39;&#39;, $energie[1]));

// pour utiliser les variables
echo &#39;Mes ressources
Métal : &#39;.$ressources[&#39;metal&#39;].&#39;<br />
Cristal : &#39;.$ressources[&#39;cristal&#39;].&#39;<br />
Deutérium : &#39;.$ressources[&#39;deuterium&#39;].&#39;<br />
Energie : &#39;.$ressources[&#39;energie&#39;];
?>

Bon ensuite à toi d'adapter :lol:
Fervent Pro-IPv6 - Étudiant (Master 1 - BAC+4 - Spécialité Réseaux, UPMC) - Blog

#10 MrCrash357

    Petit nouveau

  • Membres
  • Pip
  • 34 messages

Posté 15 juillet 2010 - 12:24

C'est super sympa.
Seulement si je veux faire tourner du php il me faut nécessairement un serveur, non ?
Ce n'est peut-être pas une mauvaise idée après tout. Mais est-ce qu'un petit hébergement gratos du genre de chez free peut suffire ?

Sinon si je continue sur mon idée de départ, il faut que j'installe curl:
J'ai installé code:blocks mais je ne sais pas comment installer la bibliothèque curl
J'ai téléchargé une archive zip mais je ne sais pas si c'est compilé (je ne crois pas, il y a plein de dossiers dont un contient des .c et des .h)

#11 Bashy

    Korbenaute

  • Membres
  • PipPip
  • 191 messages

Posté 15 juillet 2010 - 15:30

non tu peux utiliser PHP-CLI (le php.exe sur windows)
Fervent Pro-IPv6 - Étudiant (Master 1 - BAC+4 - Spécialité Réseaux, UPMC) - Blog

#12 MrCrash357

    Petit nouveau

  • Membres
  • Pip
  • 34 messages

Posté 16 juillet 2010 - 09:22

Cool!
J'ai encore quelques questions:
-PHP-CLI demande pas de compilation si j'ai bien compris ? (est-ce qu'il y a la possibilité cependant de créer un .exe à partir des scripts ?)
-Pour l'identification sur le site (parce que la page en question n'est pas accessible à tout le monde mais seulement à moi) il va falloir que j'utilise curl ? ou y'a t il moyen de récupérer la page générée pour tels ou tels identifiants sans passer par curl? si je dois passer par curl, je ne comprends vraiment pas comment compiler et installer ça, que ce soit pour C++ ou PHP: sous unix les commandes ont l'air très simples mais en ce qui concerne windows, je ne parviens pas à trouver de site qui détaille la marche à suivre.

Après, je crois que je ne vais finalement pas couper au cours généraliste de php, si je veux un jour réussir à sortir le moindre petit script utile sans être assisté. Donc je vais reprendre tout ça au début, au hello world, mais si en parallèle vous pouvez continuer de m'aiguiller pour mon petit problème du moment, j'apprécierais beaucoup.

#13 Crash

    Korbenaute

  • Membres
  • PipPip
  • 170 messages

Posté 16 juillet 2010 - 15:49

Tu peux faire des .exe de tes applications PHP mais je ne sais plus comment tu peux le faire. Tu peux te passer de curl en envoyant directement les GET et/ou POST via les headers HTTP.

#14 lemulot

    Super Korbenaute

  • Membres
  • PipPipPip
  • 994 messages

Posté 16 juillet 2010 - 15:53

Non mais non !
PHP est un language interprete !

#15 Crash

    Korbenaute

  • Membres
  • PipPip
  • 170 messages

Posté 16 juillet 2010 - 18:13

Tu peux faire des .exe d'applications PHP premier lien google : http://www.nexen.net...ons_windows.php

La prochaine fois au lieu de crier aux grands damnes tout de suite, tu feras des recherches...

#16 MrCrash357

    Petit nouveau

  • Membres
  • Pip
  • 34 messages

Posté 17 juillet 2010 - 12:16

Merci pour l'info en tout cas.
Bon pour l'instant j'ai rien à transformer en .exe, faut quand même que j'apprenne quelques trucs, mais ça viendra, je me fais pas de souci pour ça.

Citation

Tu peux te passer de curl en envoyant directement les GET et/ou POST via les headers HTTP.
C'est noté. J'essayerai dès que j'y arrive en suivant le cours (sur le site du zéro).

#17 lemulot

    Super Korbenaute

  • Membres
  • PipPipPip
  • 994 messages

Posté 17 juillet 2010 - 13:29

Voir le messageCrash, le 16 juillet 2010 - 18:13, dit :

Tu peux faire des .exe d'applications PHP premier lien google : http://www.nexen.net...ons_windows.php

La prochaine fois au lieu de crier aux grands damnes tout de suite, tu feras des recherches...

Desole pour toi mais sa n'apporte rien de bien !
Au contraire, tu y pers pas mal ...

Si tu veux une appli compiler utilise un langage compiler POINT.

#18 Ergot

    Petit nouveau

  • Membres
  • Pip
  • 78 messages

Posté 17 juillet 2010 - 15:08

Citation

Desole pour toi mais sa n'apporte rien de bien !
Au contraire, tu y pers pas mal ...

Si tu veux une appli compiler utilise un langage compiler POINT.

Pourrais-tu préciser ta pensée ??
Il y a quand même quelques avantages selon moi à pouvoir compiler un langage interprété... Comme par exemple le distribuer facilement (pas besoin d'installer tout un environnent), une fois qu'il est terminé, regrouper le tout sous un seul fichier exécutable au lieu d'avoir 100 fichiers source indépendant, ou autre...

Je ne vois pas pourquoi tu es totalement contre.
Après je ne nie pas qu'il peut y avoir quelques inconvénients (ralentissement du l'exécution par exemple). Mais ça reste de la responsabilité du développeur de faire son choix.

#19 lemulot

    Super Korbenaute

  • Membres
  • PipPipPip
  • 994 messages

Posté 17 juillet 2010 - 15:28

Tu ne passe pas 1h a manger un Macdo car c'est un fast food.
Ben c'est pareil, il y des langages compiler, d'autre interpreter.

L'avantage de l'interprete est souvent de la simplicité, du multiplateforme et de pouvoir lire la source.

#20 webbeur

    Dans la place ...

  • Moderateurs
  • 761 messages

Posté 02 août 2010 - 17:42

C'est interdit su Ogame sa il me semble :unsure:
Image IPB





1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)