Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 05:30

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Delphi]Indy9 + Sessioncookie

Discussion on [Delphi]Indy9 + Sessioncookie within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1

 
DesperadoStrike's Avatar
 
elite*gold: 3
Join Date: May 2006
Posts: 2,309
Received Thanks: 539
[Delphi]Indy9 + Sessioncookie

Hallo zusammen,

Gleich mal vorweg meine Daten:

- Delphi 7
- Indy 9 ( aktuellste )
- idHTTP
- CookieManager

Nun zu meinem Problem:

Das ganze ist so geplant:

Mein Programm soll sich in eine Webseite die mit Session Cookies arbeitet einloggen. Die 3 dazu benötigten Eingaben ( User ; Passwort ; Captcha ) werden aus dem dafür vorgesehenen Editfenstern entnommen. Nach dem login wird der Quellcode geladen und auf ein Wort durchsucht.

Ist das besagte Wort vorhanden => Login erfolgreich
Ist das Wort nicht vorhanden => Login fehlgeschlagen.

Wenn Login erfolgreich war => Filtere den Quellcode und suche 2 relevante Werte heraus.

_______________________

Bis hierhin funktioniert alles bestens.
Allerdings soll das Programm nach erfolgreichen Login die Seite wechseln.
Ich habe testweise den Quellcode der aufzurufenden Seite auf einem sichtbaren RichEdit - Feld ausgegeben.

Leider gibt der Server trotz erfolgreichem Login immer wieder die Meldung "Sie sind nicht eingeloggt" zurück.

idHTTP und der CookieManager sind miteinander verknüpft.
allowcookies ist auf true.
handleredircts ist ebenfalls auf true.

Mein aktueller Code sieht so aus:


Code:
// Progressbar auf 0 setzen
Gauge1.Progress := 0;
// Loginseite mittels den Daten aus meinen editfenstern ansteuern
Login := IdHTTP1.Get('http://localhost/login.php?action=login&login2='+edit1.Text+'&passwort2='+edit2.text+'&grafikcode='+edit3.Text+'&Login=Login');
// Testweise eingebaut um zu schauen ob ein Cookie gesetzt wird
ShowMessage(IdCookieManager1.CookieCollection.Items[0].CookieText);
// Nach erfolgreichen Login auf die nächste Seite navigieren
Seite := IdHTTP1.Get('http://localhost/index.php');
Gauge1.Progress := Gauge1.Progress+1;
// Quellcode im Textfenster ausgeben
richedit1.Text := Seite;

Anschließend wird der im "Login" gespeicherte Datensatz ausgewertet

Kleiner ausschnitt:


Code:
// Login nach dem Wort "erfolgreich" durchsuchen
Buff:= PChar(Login);
    if SearchBuf(Buff, length(Buff), 0, 0, 'erfolgreich') <> nil then
      begin
          Label1.Font.Color := clgreen;
          Label1.Caption := 'Login erfolgreich!';
          Gauge1.Progress := Gauge1.Progress+1;
        // anschließend den Text zwischen den beiden HTML Tags auslesen
          filter1:='am  <b> ';
          filter2:='</b>.<br>';
          position1 := Length(filter1);
          position1 := Pos(filter1, login) +  Length(filter1);
            repeat
              position2 := Pos(filter2, login);
            until
              position2 >= position1;
    if position1 <> Length(filter1) then
      begin
        // Da ich 2 Werte auslese die hintereinander stehen wird 2x gefiltert.
        // Beim ersten mal Bsp: <br>21.01.09 <br><br> 12:00 Uhr</br>
        // Erst wird alles vor dem Datum und nach der Uhrzeit gefiltert
        login := copy(login,position1,position2-position1);
       // Dann wird der HTML code in der mitte zwischen den beiden Werten gefiltert
        login := StripHTML(login);
        label5.Caption := (' Dein letzter Login war am '+login);
      end;
    end
 // Taucht das gesuchte wort nicht auf =>
  else
    begin
      Label1.Font.Color := clred;
      Label1.Caption := 'Logindaten oder Captcha falsch!';
      webbrowser1.Navigate('http://localhost/code.php');
    end;
end;
die Meldung die beim Login anzeigen soll ob ein Cookie gesetzt wird gibt folgendes aus:

---------------------------
session_cookie=48675b1345871fc4aeed14776d68f6d6; domain=localhost
---------------------------

mit dem Webbrowser funktioniert es zwar, aber ich möchte es gern über die Indy Komponenten Regeln

( Ein Update auf Indy10 klappt bei mir leider nicht (wahrscheinlich bin ich einfach zu doof dafür))
DesperadoStrike is offline  
Old 02/03/2009, 18:20   #2
 
elite*gold: 0
Join Date: May 2008
Posts: 489
Received Thanks: 210
Ich habe keine Ahnung von Delphi und verabscheue Indy, allerdings wäre mein erster Ansatz:

Schaue einfach mal nach was gesendet und empfangen wird. Wenn dir Indy nicht die Möglichkeit gibt das gesamte Paket anzuschauen benutze einfach 'mal WPE oder einen Sniffer deiner Wahl.

Und gucke ob dein Cookie wirklich immer gesendet wird, also die Zeile

Code:
Cookie: session_....
immer im Paket enthalten ist. Und checke auch mal die Antwort.

Gibt es in Delphi nicht die Möglichkeit Winsock zu nutzen? Hinter den Kulissen ist Delphi ja auch auf die Winsock funktionen angewiesen. Vielleicht einfach mal die Funktions - Adressen besorgen und selber den POST/GET Request bauen.
schlurmann is offline  
Old 02/06/2009, 21:30   #3

 
DesperadoStrike's Avatar
 
elite*gold: 3
Join Date: May 2006
Posts: 2,309
Received Thanks: 539
frage leider noch immer nicht gelöst
DesperadoStrike is offline  
Reply


Similar Threads Similar Threads
DELPHI - Who make Exploits, Hacks and Tools with DELPHI?
05/15/2013 - CO2 Programming - 13 Replies
Hi all. Iwith DELPHI, but a dont now. hello, I use Delphi to program and i like someone put here source code of make Exploits, Hacks and Tools bot here, or part of the code. ty to all
[DELPHI&METIN]Wie sind die Delphi Befehle für einen Bot?
03/07/2010 - General Coding - 3 Replies
Hallo liebe com, ich habe mal eine Frage: Ich möchte einen Metin Bot in Delphi schreiben aber ich weiß nicht die Befehle für eine bestimmte Taste senden etc. könnt ihr mir die pls sagen oder per pn geben MfGGGGGG
delphi
06/02/2008 - Cabal Online - 0 Replies
was trying to create a UCE after formatting my computer. but nw my delphi does not work anymore. it keep saying my reg key is invalid. is there any crack of delphi 7?
need help with delphi 7
05/24/2007 - Conquer Online 2 - 3 Replies
I downloaded delphi 7 the other day (3 days ago xD) and started learning the basics but now I want to start messing with memory address. Can anybody who knows about delphi 7 give me an example on how to read a memory address like the character name? I know the address for this is 0058037C but don't know how to get the character name out of that address using delphi lol kk, thx in advance ^^



All times are GMT +1. The time now is 05:31.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.