[..] Tester la présence d'une variable ou d'un cookies?
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[..] Tester la présence d'une variable ou d'un cookies?
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 =)
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

- 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?
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)
Pour la suite :
http://www.autoitscript.fr/forum/viewto ... f=6&t=2747
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
http://www.autoitscript.fr/forum/viewto ... f=6&t=2747
Re: [..] Tester la présence d'une variable ou d'un cookies?
Merci pour ta réponse Gary
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é :
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 
► Afficher le texte
Modifié en dernier par Tlem le jeu. 16 avr. 2009 23:51, modifié 1 fois.
Raison : Ajout balise spoiler
Raison : Ajout balise spoiler
Re: [..] Tester la présence d'une variable ou d'un cookies?
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 )
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 )
- orax
- 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?
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)
Re: [..] Tester la présence d'une variable ou d'un cookies?
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 ^^
- orax
- 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?
Vous pouvez faire comme ça :sauf que ça centre sur la première lettre, donc ce n'est pas exactement centré.
Code : Tout sélectionner
ToolTip("blabla...",@DesktopWidth/2,@DesktopHeight/2)De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)

