Page 1 sur 2

Auto login

Publié : mar. 25/mai/2010 10:36
par DarkIchigo
Bonjours à vous,

j'essaye de créer un petit programme me permettant en un clic de me logger sur un site dont la page d'accueuil est comme suit (sur le réseau de mon travail) :

Image

le pb je ne sais absolument pas comment faire, qq un pourrait-il m'aider à me diriger sur les outils à utiliser svp?

Je ne demande pas à ce que qq un me donne la solution toute cuite, mais jute si qq un connait une lib ou autre qui pourrai aider, je suis preneur.

Merci d'avance

Re: Auto login

Publié : mar. 25/mai/2010 11:53
par nico
Fait une recherche sur le site sur auto login

Re: Auto login

Publié : mar. 25/mai/2010 12:04
par flaith
Salut,

ce que tu veux c'est un truc du genre SSO (Single Sign On) ?

Re: Auto login

Publié : mar. 25/mai/2010 12:47
par DarkIchigo
@nico
J'ai recherché rien ne correspond à ce que je recherche, désolé oublié de le noté dans mon post :oops:

@flaith
Non bien plus simple, j'utilise au taf un site (PHP) sur le réseau local pour la gestion des commandes.
Or extrèmement chiant, je dois me re-logger toutes les 30 minutes si il est resté inactif...

Donc j'ai pensé me créer un petit prog spécifique pour me logger sur ce site avec mon log / pass.
Genre juste un bouton paf ca copie le log/pass et ça valide

Après soit par un "Log" <tab> "pass" <tab> espace pour valider
ou soit en modifiant les valeurs des champs PHP directement si c'est possible (mieux mais surment plus difficile).

Re: Auto login

Publié : mar. 25/mai/2010 14:02
par Le Soldat Inconnu
il faut piloter le clavier pour écrire dans le champ, je pense.

Donc il s'agit de la fonction de l'API windows Sendinput

en gros, tu lances ton programme

le programme attend que tu te mettes sur le login et que presses une touche pour dire que c'est OK, genre la touche control
tu la testes comme cela

Code : Tout sélectionner

If GetAsyncKeyState_(#VK_CONTROL)
Ensuite tu pilotes le clavier touche par touche pour écrire ton login et mot de passe

pour écrire la lettre A en pilotant le clavier, ca donne :

Code : Tout sélectionner

Message.INPUT
Message\Type = #INPUT_KEYBOARD
Message\ki\wVk = #VK_A
SendInput_(1, @Message, SizeOf(INPUT))
Message\ki\dwFlags = #KEYEVENTF_KEYUP
SendInput_(1, @Message, SizeOf(INPUT))
ensuite, quand tu as envoyé ton login complet, tu envoie la touche TAB, puis ton mot de passe et enfin ENTRER, et voilà :D

Re: Auto login

Publié : mar. 25/mai/2010 14:29
par G-Rom
plus simple , si tu connais les paramètres de l'url style :
tu peut te logger sans problème , mais faut connaitre le site en question.

Re: Auto login

Publié : mar. 25/mai/2010 15:45
par DarkIchigo
@LSI
Merci beaucoup, je vais essayer comme ça, ce sera déjà un bon début si j'y arrive :D

@G-Rom
Oula te me sur-estime là ^^
Je ne connais absolument pas ces paramêtres là.

Re: Auto login

Publié : mar. 25/mai/2010 16:21
par G-Rom
c'est simple , la page de login envois des paramètres via l'url
quand tu clique sur "connexion".
ex:
Envois le code source visible par ton navigateur de la page en question

Re: Auto login

Publié : mar. 25/mai/2010 16:41
par Le Soldat Inconnu
ça m'étonnerais, le login doit être en masqué :|

Re: Auto login

Publié : mar. 25/mai/2010 16:47
par Ar-S
G-Rom a écrit :c'est simple , la page de login envois des paramètres via l'url
quand tu clique sur "connexion".
ex:
Envois le code source visible par ton navigateur de la page en question
Pour connaitre ce genre de paramètres, tu installes l'addon WebDeveloper de Firefox.
Un fois installé, dans l'onglet "Form" tu choisis "convertir les méthodes de formulaires" puis tu choisis "POST en GET".
Ainsi lorsque tu appuieras sur OK, tu auras l'adresse qui apparaitra sous cette forme .....page.php?LOGIN=xxx&MDP==yyyy

Re: Auto login

Publié : mar. 25/mai/2010 17:11
par G-Rom
Les noms du formulaire de connexion du forum ! :D
Reste à comprendre sid , si on peut le générer en se connectant et en lisant une page php via pb.
username
password
autologin
sid
redirect
login

Re: Auto login

Publié : mar. 25/mai/2010 18:13
par Ar-S
G-ROM, en effet, je vois pas trop à quoi correspond ce Sid, ça m'a tout de même l'air d'être un MD5, mais de quoi..
J'ai essayé de comparer le miens à mon login ou pass, sans succes..

---Edit---

le SID est l'information concernant ta session lorsque tu parcours le forum. Maintenant de là à savoir comment il est générée..

Re: Auto login

Publié : mar. 25/mai/2010 18:34
par G-Rom
Session ID renvoyer par session_id() de php , mais on s'en fou comment il est générer , tu télécharge la page
via ReceiveHTTPFile() , le serveur de purebasic va glisser certainement le sid à l'interieur. je vais testé de suite :)

Re: Auto login

Publié : mar. 25/mai/2010 18:43
par G-Rom
Bingo !

Code : Tout sélectionner

InitNetwork()

OpenConsole()


URL$ = "http://www.purebasic.fr/french/"
If ReceiveHTTPFile(URL$,"index.php")
  If ReadFile(0,"index.php")
    *Ptr = AllocateMemory(Lof(0))
    ReadData(0,*Ptr,Lof(0))
    INDEX_PHP.s = PeekS(*Ptr,Lof(0))
  CloseFile(0)
  Else
  PrintN("Erreur de lecture de index.php") 
  EndIf 
Else 
  PrintN("Erreur de connexion a "+URL$)
EndIf 


Position_A = FindString(INDEX_PHP,"<a href="+Chr(34)+"./index.php?sid=",0) + Len("<a href="+Chr(34)+"./index.php?sid=")
Position_B = FindString(INDEX_PHP,Chr(34)+">",Position_A)
SID$       = Mid(INDEX_PHP,Position_A,Position_B-Position_A)



PrintN("LE SID EST = "+SID$)
Input()
End 

Re: Auto login

Publié : mar. 25/mai/2010 19:47
par Backup
heu ! t'arrive a avoir une console sous Linux ? 8O

moi j'ai rien qui souvre ! :?