Discussion:
Piloter une page web en php - Js et html 9box.zip (0/1)
(trop ancien pour répondre)
Baton Rouge
2011-03-08 22:29:48 UTC
Permalink
Bonjour

Voilà, j'ai un problème avec ma neufbox ADSL de chez SFR.
J'aimerai me logger toutes les heures avec de recuperer des infos pour
en faire des statistique le tout sous linux.

J'ai 2 solutions :
- Desactiver le mot de passe (ça craint)
- me logger de facon automatique.

Le soucis c'est que la 9box bloque l'acces car il me manque une info
qui est fourni par un javascript que je ne sais pas traiter. Ce script
est là pour eviter ce genre de manip (frauduleuse, mais gène
l'utilisateur)

Pour info j'ai un interpreteur php en ligne de commande (php_cli)

Donc je me pose la question :
Peut on avec php piloter la page en comme si l'on etait dans un
navigateur et gerer les appel javascript web_challenge (ce que ne
savent pas faire wget et curl).
Ce web_challenge est une moulinette de login+password+d'autre truc
passé en sha256 fait maison.

Si quelqu'un à une idée ou une piste, je suis preneur.
Merci d'avance

PS: Ci joint je fourni les fichier js
--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Olivier Miakinen
2011-03-09 00:31:40 UTC
Permalink
Bonjour,
Post by Baton Rouge
[...]
Pour info j'ai un interpreteur php en ligne de commande (php_cli)
Peut on avec php piloter la page en comme si l'on etait dans un
navigateur et gerer les appel javascript web_challenge (ce que ne
savent pas faire wget et curl).
J'ai lancé depuis un moteur de recherche la requête « exécuter du
javascript depuis php », et ça m'a donné ceci :
<http://blog.pascal-martin.fr/post/spidermonkey-javascript-serveur-depuis-php>

Ce n'est peut-être pas la meilleure solution, d'autant qu'elle
était expérimentale le 4 juin 2009 et que je ne sais pas où ça
en est maintenant.

Quoique...
http://www.google.fr/search?q=spidermonkey+php
-->
http://pecl.php.net/package/spidermonkey
Post by Baton Rouge
PS: Ci joint je fournis les fichier js
Ça c'est peu pratique sur usenet-fr, voire carrément impossible si tu
les mets dans une archive (ce d'autant plus dans un groupe modéré).

Mets-les par exemple sur cjoint.com, et colle l'URL ou les URL dans un
nouvel article publié ici.

Cordialement,
--
Olivier Miakinen
Baton Rouge
2011-03-09 21:13:53 UTC
Permalink
Post by Olivier Miakinen
Mets-les par exemple sur cjoint.com, et colle l'URL ou les URL dans un
nouvel article publié ici.
Fait, mais c'est pas passé non plus.
--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Olivier Miakinen
2011-03-09 22:32:37 UTC
Permalink
Bonjour,
Post by Baton Rouge
Post by Olivier Miakinen
Mets-les par exemple sur cjoint.com, et colle l'URL ou les URL dans un
nouvel article publié ici.
Fait, mais c'est pas passé non plus.
Est-ce que ***@poubelle.com est ta vraie adresse ?

De deux choses l'une :
- soit la réponse est oui et tu devrais regarder si tu as reçu un
message de refus, la raison y est certainement indiquée ;
- soit la réponse et non, et d'abord tu devrais la suffixer par
le TLD .invalid (***@poubelle.com.invalid), ensuite tu devrais
rajouter un Reply-To valide pour recevoir les messages de refus.

P.-S. : <news:***@jeffrey.matabio.net>

Cordialement,
--
Olivier Miakinen
Baton Rouge
2011-03-10 17:09:08 UTC
Permalink
Post by Olivier Miakinen
Mets-les par exemple sur cjoint.com, et colle l'URL ou les URL dans un
nouvel article publié ici.
Voilà, j'essaye à nouveau :
http://cjoint.com/?2dixHuxtXGf
--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Mickael Wolff
2011-03-09 21:13:53 UTC
Permalink
Post by Baton Rouge
Ce web_challenge est une moulinette de login+password+d'autre truc
passé en sha256 fait maison.
Pourquoi n'écris-tu pas la moulinette en PHP alors ?
Baton Rouge
2011-03-10 17:09:08 UTC
Permalink
Post by Mickael Wolff
Post by Baton Rouge
Ce web_challenge est une moulinette de login+password+d'autre truc
passé en sha256 fait maison.
Pourquoi n'écris-tu pas la moulinette en PHP alors ?
Parce que si la Box ADSL est mise à jour, et que les function
changent, c'est plus facile d'appeler les nouvelle que de retranscrire
les nouvelles function javascript en PHP.


Je ne sais même pas si ma demande est réalisable.
Avant tout j'aimerai savoir si c'est possible avant d'apprendre le
PHP.
--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Mickael Wolff
2011-03-10 18:47:52 UTC
Permalink
Post by Baton Rouge
Post by Mickael Wolff
Pourquoi n'écris-tu pas la moulinette en PHP alors ?
Parce que si la Box ADSL est mise à jour, et que les function
changent, c'est plus facile d'appeler les nouvelle que de retranscrire
les nouvelles function javascript en PHP.
Si la mise à jour implique un changement de nom de la fonction
javascript, tu es aussi feinté.
Post by Baton Rouge
Je ne sais même pas si ma demande est réalisable.
Ce n'est pas raisonable. Adapter la routine à chaque MàJ est beaucoup
plus pertinent et simple à maintenir. Faut juste le faire assez proprement.
Post by Baton Rouge
Avant tout j'aimerai savoir si c'est possible avant d'apprendre le
PHP.
Bah, écrit le en C alors :o)
Baton Rouge
2011-03-11 09:50:58 UTC
Permalink
Post by Mickael Wolff
Post by Baton Rouge
Post by Mickael Wolff
Pourquoi n'écris-tu pas la moulinette en PHP alors ?
Parce que si la Box ADSL est mise à jour, et que les function
changent, c'est plus facile d'appeler les nouvelle que de retranscrire
les nouvelles function javascript en PHP.
Si la mise à jour implique un changement de nom de la fonction
javascript, tu es aussi feinté.
Oui, mais c'est plus facile à regler que de reecrire des fonctions
javascript entierement.
Post by Mickael Wolff
Post by Baton Rouge
Je ne sais même pas si ma demande est réalisable.
Ce n'est pas raisonable. Adapter la routine à chaque MàJ est beaucoup
plus pertinent et simple à maintenir. Faut juste le faire assez proprement.
Pas d'accord. Il est plus simple d'adapter le nom de la routine que la
routine en elle même. Le côté facile c'est simplement de faire appel à
la routine, le côté compliqué (que tu propose) c'est de reecrire la
routine javascript en PHP proprement.

Le plus compliqué pour moi c'est de savoir comment faire appel aux
fonction javascript de la 9box

Pour info, je programme en delphi et malheureusement les seule tuto
que je trouve en php ne concerne pas le pilotage d'une page web.
--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Olivier Miakinen
2011-03-11 15:21:38 UTC
Permalink
Bonjour,
Post by Baton Rouge
Le plus compliqué pour moi c'est de savoir comment faire appel aux
fonction javascript de la 9box
Tu as regardé ce que pouvait t'offrir spidermonkey ?

Cordialement,
--
Olivier Miakinen
Baton Rouge
2011-03-11 19:09:32 UTC
Permalink
Post by Olivier Miakinen
Bonjour,
Post by Baton Rouge
Le plus compliqué pour moi c'est de savoir comment faire appel aux
fonction javascript de la 9box
Tu as regardé ce que pouvait t'offrir spidermonkey ?
Cordialement,
Pour le moment j'ai jeté un oeuil tout comme pour rhino.
Je fais le tour des tuto.

Je pense que finalement je vais pouvoir utiliser cURL/wget et
spidermonkey/rhino le tout dans un script bash.

Merci de ton aide.
--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Mickael Wolff
2011-03-11 15:21:38 UTC
Permalink
Post by Baton Rouge
Oui, mais c'est plus facile à regler que de reecrire des fonctions
javascript entierement.
Explique en quoi c'est plus simple.
Post by Baton Rouge
Pas d'accord. Il est plus simple d'adapter le nom de la routine que la
routine en elle même. Le côté facile c'est simplement de faire appel à
la routine, le côté compliqué (que tu propose) c'est de reecrire la
routine javascript en PHP proprement.
« Simplement faire un appel à la routine »
Je crois que tu n'arrives pas à comprendre que c'est loin d'être
trivial. Ce que tu veux, c'est que PHP se comporte comme un navigateur
Web. C'est à dire qu'il charge un document, créé le contexte HTML et y
associe un contexte Javascript. Oui, c'est simple, assurément.
J'ai déjà vu une intégration d'un interpréteur JS dans PHP, mais ce
n'était pas couplé à un contexte web, c'était plutôt pour appeler des
scripts JS plutôt que d'écrire du PHP.
Post by Baton Rouge
Le plus compliqué pour moi c'est de savoir comment faire appel aux
fonction javascript de la 9box
Alors pourquoi prétendre que c'est le plus simple ?
Post by Baton Rouge
Pour info, je programme en delphi et malheureusement les seule tuto
que je trouve en php ne concerne pas le pilotage d'une page web.
Certainement parce que ce n'est pas un usage pertinent.

Très franchement, as-tu vraiment besoin d'écrire un navigateur web en
Javascript ? Non, donc traduit simplement le code Javascript de la
Neufbox, et ça va le faire.
Baton Rouge
2011-03-11 19:09:32 UTC
Permalink
Post by Mickael Wolff
Post by Baton Rouge
Oui, mais c'est plus facile à regler que de reecrire des fonctions
javascript entierement.
Explique en quoi c'est plus simple.
Voir la piece jointe avec les fichier js :
Message-ID: <***@4ax.com>

Tu comprendra que c'est plus facile d'appeler une fonction que de la
traduire en autre chose.
--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Mickael Wolff
2011-03-12 20:03:18 UTC
Permalink
Post by Baton Rouge
Tu comprendra que c'est plus facile d'appeler une fonction que de la
traduire en autre chose.
J'ai justement regardé ce source avant de te répondre. Et oui, c'est
trivial de le traduire en PHP (et de faire des tests avec
l'implémentation native en PHP de SHA) plutôt que de monder une usine à gaz.
Simon Lieb
2011-03-13 14:13:48 UTC
Permalink
Post by Baton Rouge
Post by Mickael Wolff
Post by Baton Rouge
Oui, mais c'est plus facile à regler que de reecrire des fonctions
javascript entierement.
Explique en quoi c'est plus simple.
Tu comprendra que c'est plus facile d'appeler une fonction que de la
traduire en autre chose.
Bonjour,

Je fais mes premiers pas sur Usenet et je profites de ce message pour
poser une petit question sur ce le fonctionnement : Mon Thunderbird
transforme ce lien en adresse mail et je ne donc parviens pas à
récupérer le fichier, quelqu'un pourrait il m'aiguiller sur la manière
de procèder s'il vous plait ?

Est tu sur que la fonction javascript changera à la mise à jour de la
box ? La fréquence de ce changement est elle élevée ?
Dans le pire des cas ne peux tu pas t'avertir, par mail pas exemple,
d'un changement de la fonction ? A coup de regex pour l'isoler et de
somme md5/shaX ?
N'ayant pas vu la pièce jointe je me pose cette question, est ce un
javascript vraiment trop compliqué pour être transposé en php ? en
général il n'y a rien d'insurmontable à transposer un code d'un langage
à un autre, non ?

Simon
Baton Rouge
2011-03-13 18:04:15 UTC
Permalink
Post by Simon Lieb
Est tu sur que la fonction javascript changera à la mise à jour de la
box ? La fréquence de ce changement est elle élevée ?
Je ne sais pas, c'est pour ça que je veux recuperer toutes ces info
mais la plupart sont obligatoirement avec login/mdp
Post by Simon Lieb
Dans le pire des cas ne peux tu pas t'avertir, par mail pas exemple,
d'un changement de la fonction ? A coup de regex pour l'isoler et de
somme md5/shaX ?
C'est ce que je fais déjà en m'envoyant un mail en cas de changement
d'IP par exemple.
Je veux rajouter d'autre chose dans le mail car j'ai par exemple des
problème de débit, elle est parfois divisé par 2. Mais c'est un autre
débat.
Post by Simon Lieb
N'ayant pas vu la pièce jointe je me pose cette question, est ce un
javascript vraiment trop compliqué pour être transposé en php ? en
général il n'y a rien d'insurmontable à transposer un code d'un langage
à un autre, non ?
Je viens de trouver une autre solution : elinks (qui gère javascript)
et LUA (script)

eLinks contrairement à links/links2/w3m gère parfaitement le login de
la 9box.
ça va me servire pour d'autre chose. Par exemple me connecter via un
cron à ma banque en ligne pour rapatrier chaque jour un extrait.
--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Simon Lieb
2011-03-13 21:28:59 UTC
Permalink
Post by Baton Rouge
Post by Simon Lieb
Est tu sur que la fonction javascript changera à la mise à jour de la
box ? La fréquence de ce changement est elle élevée ?
Je ne sais pas, c'est pour ça que je veux recuperer toutes ces info
mais la plupart sont obligatoirement avec login/mdp
Evidement le login/mdp est obligatoire et je pense que ce n'est pas le
plus compliqué à transmettre, mais je faisais référence au changement de
la fameuse fonction javascript qui te gène.
Si tu n'est pas sur qu'elle change, tu peux pour l'instant reproduire
son comportement en php et transmettre l'information résultante.
Post by Baton Rouge
Post by Simon Lieb
Dans le pire des cas ne peux tu pas t'avertir, par mail pas exemple,
d'un changement de la fonction ? A coup de regex pour l'isoler et de
somme md5/shaX ?
C'est ce que je fais déjà en m'envoyant un mail en cas de changement
d'IP par exemple.
Je veux rajouter d'autre chose dans le mail car j'ai par exemple des
problème de débit, elle est parfois divisé par 2. Mais c'est un autre
débat.
Je comprend bien, mais, à nouveau, je faisais référence à un changement
de la fonction javascript, tu récupére la page, en isole l'élément
génant et si tu note un changement (en stocké sa somme de contrôle) tu
adapte à nouveau ton script.
Post by Baton Rouge
Post by Simon Lieb
N'ayant pas vu la pièce jointe je me pose cette question, est ce un
javascript vraiment trop compliqué pour être transposé en php ? en
général il n'y a rien d'insurmontable à transposer un code d'un langage
à un autre, non ?
Je viens de trouver une autre solution : elinks (qui gère javascript)
et LUA (script)
eLinks contrairement à links/links2/w3m gère parfaitement le login de
la 9box.
ça va me servire pour d'autre chose. Par exemple me connecter via un
cron à ma banque en ligne pour rapatrier chaque jour un extrait.
Effectivement la solution proposé n'est adapté qu'à ton cas de neuf box,
un solution capable de simuler complétement le comportement d'un
navigateur sera plus générique et te permettra de scripter beaucoup plus
d'action à travers une multitude de site web.
Tonton Th
2011-03-13 21:28:59 UTC
Permalink
Post by Simon Lieb
transforme ce lien en adresse mail et je ne donc parviens pas à
récupérer le fichier, quelqu'un pourrait il m'aiguiller sur la manière
de procèder s'il vous plait ?
http://www.restoux.org/ aide bien...
--
Ma coiffeuse est formidable - http://sonia.buvette.org/
Simon Lieb
2011-03-13 22:26:55 UTC
Permalink
Post by Tonton Th
Post by Simon Lieb
transforme ce lien en adresse mail et je ne donc parviens pas à
récupérer le fichier, quelqu'un pourrait il m'aiguiller sur la manière
de procèder s'il vous plait ?
http://www.restoux.org/ aide bien...
Merci beaucoup pour ce lien ! :)

Olivier Miakinen
2011-03-13 21:31:22 UTC
Permalink
Bonjour,
Post by Simon Lieb
Je fais mes premiers pas sur Usenet et je profites de ce message pour
poser une petit question sur ce le fonctionnement : Mon Thunderbird
transforme ce lien en adresse mail et je ne donc parviens pas à
récupérer le fichier, quelqu'un pourrait il m'aiguiller sur la manière
de procèder s'il vous plait ?
Il y a plusieurs façons de procéder. L'une d'entre elles consiste à
installer une extension comme Mnenhy ou MessageID-Finder (quoique, je
me demande si la version 3 de Thunderbird ne l'intègre pas déjà).

Une autre façon consiste à aller voir par exemple la page
<http://al.howardknight.net/> et à y recopier le Message-ID, avec les
chevrons. En deux clics tu te retrouves ici :
<http://al.howardknight.net/msgid.cgi?ID=130005043500>.

[copie et suivi vers fr.comp.usenet.lecteurs-de-news]

Cordialement,
--
Olivier Miakinen
Continuer la lecture sur narkive:
Loading...