[..] Tester la présence d'une variable ou d'un cookies?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
evilmouss
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 15 avr. 2009 11:07
Status : Hors ligne

[..] Tester la présence d'une variable ou d'un cookies?

#1

Message par evilmouss »

Bonjour, voilà je vous expose mon problème.

J'ai actuellement un script qui permet de se logguer sur un site distant et de s'authentifier sur celui-ci en remplissant les champs login et mot de passe d'un formulaire de manière automatique. Ce que je voudrais, c'est que le lancement du .exe généré avec autoit se fasse seulement et seulement si l'utilisateur est connecté au préalable via une page de mon site.
En gros pour résumer, l'exécution du .exe doit se faire DEPUIS mon site ( car j'historise tous les accès ) et je veux empêcher que l'utilisateur fasse un simple enregistrez sous...et lance l'exe depuis le bureau ( ce qui m'empêcherai de savoir qui s'est connecté ). Il est donc impératif qu'il soit identifiez sur mon site pour pouvoir lancer cet .exe.

Question : y'a t'il un moyen de tester avec autoit la présence ou non d'une variable $_SESSION dans une fenêtre IE ouverte ou alors la présence d'un cookies? ( qui serait créer lors du lancement du .exe depuis mon site puis aussitôt supprimé par la suite après par exemple un timer de 20s )

Merci pour vos réponses, je ne suis pas encore très très familier avec autoit, c'est pour cela que je fais appel à vous =)
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: Tester la présence d'une variable $_SESSION ou d'un cookies?

#2

Message par GaRydelaMer »

Bonjour

wahoo beaucoup de question pointu en 1 seul post ;)

Alors, pour les coockies Oui c'est possible avec AutoIt.
La mise en oeuvre est pas très simple. Je travaille dessus en ce moment d'ailleur, je viens de faire une fenêtre en AutoIt pour Uploader un fichier sur un serveur Web Disponible dans le Forum sous exemple de script.

J'ai entièrement revu le code mais pas terminé encore en utilisant l'UDF WinHTTP du site anglais, avec cette version la je récupère deja les entête HTTP envoyé par le serveur, et d'apres la doc de MicroSoft on peut également récupperer les Cockies échangé dans les 2 sens entre le serveur et le client web.

Pour la variables $_Session, comme son nom le suggère c'est pas du AutoIt, mais du PHP donc éxécuter coter serveur. En développement web, il y a 2 facons de l'utiliser soit 1 coockie soit par l'adresse de la page.

Voila en gros ma fonction en l'état actuel pour te donner une idée du style de code.
Pour toi les fonctions à utiliser:
WinHttpQueryHeaders($hRequest), _WinHttpQueryOption($hRequest, $WINHTTP_OPTION_URL)
► Afficher le texte
Pour la suite :
http://www.autoitscript.fr/forum/viewto ... f=6&t=2747
evilmouss
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 15 avr. 2009 11:07
Status : Hors ligne

Re: [..] Tester la présence d'une variable ou d'un cookies?

#3

Message par evilmouss »

Merci pour ta réponse Gary :wink: Même si elle ne m'a pas trop aidé sur le coup ( j'ai trouvé comment faire d'une autre manière avant ton post ) je suis sûr que cela pourra en mettre quelques uns qui auraient le même problème sur la piste. Comme je le disais j'ai pallier mon problème de cette façon : en fait, lorsque l'utilisateur clique sur le bouton de connexion pour lancer le .exe généré avec autoit, cela affiche en javascript dans une simple <div> un champ caché input qui contient comme valeur la date et l'heure à laquelle l'utilisateur à cliqué. Afin de savoir si le lancement du .exe se fait bien à partir de mon site, je compare cette date avec la date locale récupéré depuis autoit. VOici le code ( certes pas très propre et certainement nettement améliorable.. mais fonctionnel ^^ ) pour ceux que cela pourrait intéressé :
► Afficher le texte
Voilà si vous voyez de grosses bourdes ou des énormités, n'hésitez pas à m'en faire part, je suis ouvert à toute critique et je ne demande qu'à apprendre :)
Modifié en dernier par Tlem le jeu. 16 avr. 2009 23:51, modifié 1 fois.
Raison : Ajout balise spoiler
evilmouss
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 15 avr. 2009 11:07
Status : Hors ligne

Re: [..] Tester la présence d'une variable ou d'un cookies?

#4

Message par evilmouss »

Bonsoir,
Désolé de remonter ce topic, mon script marche à merveille cependant j'aurai aimé savoir s'il aurait été possible de l'améliorer, en "cachant" toute la phase d'authentification à l'utilisateur et d'afficher la page internet uniquement à la FIN de l'exécution du script ( en rendant donc invisible le remplissage des champs login et mot de passe )
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Tester la présence d'une variable ou d'un cookies?

#5

Message par orax »

Peut-être que vous pourriez cacher la fenêtre le temps de tout charger, à moins que ça pose problème de cacher la fenêtre complète.

Code : Tout sélectionner

$h=WinGetHandle("Internet Explorer")
WinSetState($h,"",@SW_HIDE)
ToolTip("Chargement...",0,0)
$oIE = _IEAttach($h, "HWND")
[...]
ToolTip("")
WinSetState($h,"",@SW_SHOW)
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
evilmouss
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 15 avr. 2009 11:07
Status : Hors ligne

Re: [..] Tester la présence d'une variable ou d'un cookies?

#6

Message par evilmouss »

Non cela est parfait, merci orax. Par contre est-il possible de placer le Tooltip au centre de l'écran qq soit la résolution? Je galère un peu avec les options ^^
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Tester la présence d'une variable ou d'un cookies?

#7

Message par orax »

Vous pouvez faire comme ça :

Code : Tout sélectionner

ToolTip("blabla...",@DesktopWidth/2,@DesktopHeight/2)
sauf que ça centre sur la première lettre, donc ce n'est pas exactement centré.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Répondre