Page 1 sur 1

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

Posté : mer. 15 avr. 2009 11:26
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 =)

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

Posté : mer. 15 avr. 2009 18:25
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

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

Posté : jeu. 16 avr. 2009 23:12
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 :)

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

Posté : sam. 25 avr. 2009 01:12
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 )

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

Posté : sam. 25 avr. 2009 01:47
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)

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

Posté : ven. 04 sept. 2009 10:53
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 ^^

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

Posté : ven. 04 sept. 2009 20:42
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é.