AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

idhttp Login mit Cookies

Ein Thema von RmX · begonnen am 24. Jul 2010 · letzter Beitrag vom 24. Jul 2010
Thema geschlossen
RmX

Registriert seit: 24. Mai 2010
2 Beiträge
 
#1

idhttp Login mit Cookies

  Alt 24. Jul 2010, 12:24
Hey,

ich bin nun seit einer Woche daran die idhttp's zu verstehen. Jedoch hab ich ein Problem: Es geht nicht

Ich muss zugeben, der Code ist aus mehreren Schnipseln zusammenkopiert, und teils ergänzt.
Falls in dem Code iwas zuviel ist oder nicht so richtig reinpasst, dann schreibt das bitte, weil auf dem Indy gebiet bin ich noch neu...

Erstmal der Quelltext der seite:
Code:
<form action="login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)">

</li>
            <li style="float:left;">
         <script type="text/javascript" src="clientscript/vbulletin_md5.js?v=403"></script>
         
            <fieldset id="logindetails" class="logindetails">
               <input type="text" class="textbox default-value" style="-moz-opacity:0.6; -khtml-opacity: 0.6; opacity: 0.6;" name="vb_login_username" id="navbar_username" size="10" accesskey="u" tabindex="101" value="Benutzername" onfocus="if (this.value == 'Benutzername'){this.value=''; this.style.color='black';}" onblur="if (this.value == '') {this.value='Benutzername'; this.style.color='#828282';}"/>
               <input type="password" class="textbox default-value" style="-moz-opacity:0.6; -khtml-opacity: 0.6; opacity: 0.6;" tabindex="102" name="vb_login_password" id="navbar_password" size="10" onfocus="this.style.color='black';" />
               <input type="submit" class="loginbutton" tabindex="104" value="Anmelden" title="Gib zur Anmeldung deinen Benutzernamen und dein Kennwort in die dafür vorgesehenen Textfelder ein oder klicke auf die 'Registrieren'-Schaltfläche, um ein neues Benutzerkonto anzulegen." accesskey="s" />
            </fieldset>            

            <input type="hidden" name="s" value="" />

            <input type="hidden" name="securitytoken" value="guest" />
            <input type="hidden" name="do" value="login" />
            <input type="hidden" name="vb_login_md5password" />
            <input type="hidden" name="vb_login_md5password_utf" />   

</li>

<li style="float:left;"><label for="cb_cookieuser_navbar"><input type="checkbox" name="cookieuser" value="1" id="cb_cookieuser_navbar" class="cb_cookieuser_navbar" accesskey="c" tabindex="103" checked="checked" /> <acronym style="border-bottom: 1px dotted #000000; cursor: help;" title="Du bleibst angemeldet, bis du dich selbst abmeldest.">Angemeldet bleiben?</acronym></label> </li>

 </form>
Nun zu meinem Delphi-Schnipsel-Code...der Teil nach dem // Seite wechseln etc. ist noch anders geschrieben, da nichteinmal der login funktioniert...

Delphi-Quellcode:
VAR IdHTTP:TIdHTTP; Params:TIdMultiPartFormDataStream;
    IdSSLIOHandlerSocketOpenSSL:TIdSSLIOHandlerSocketOpenSSL;
    IdCookieManager:TIdCookieManager; GetList:TStringList;
    ts: TStringList;
BEGIN
  IdHTTP1 := TIdHTTP.Create(NIL);
  GetList := TStringList.Create;
  IdCookieManager1 := TIdCookieManager.Create(NIL);
  //IdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create(NIL);
  Params := TIdMultiPartFormDataStream.Create;
  ts := TStringList.Create;
  TRY
    //IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvSSLv23;
    //IdSSLIOHandlerSocketOpenSSL.SSLOptions.Mode := sslmUnassigned;
    IdHTTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL;
    IdHTTP1.CookieManager := IdCookieManager; // Cookies man kann ja nie wissen
    IdHTTP1.AllowCookies := TRUE;
    IdHttp1.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C)';
    IdHttp1.HandleRedirects := true;

    ts.Add('vb_login_username='+edit1.text);
    ts.Add('vb_login_password='+edit2.Text);

    memo12.Text := IdHTTP1.Post('http://www.meineseite.org/login.php', ts);
// memo12.Text := idhttp1.Get(idhttp1.URL.Path);
    ts.Free;

    // Login auswerten ob login geklappt hat z.b. von RS
    IF NOT (Pos('The Account has been found, but the password is incorrect.',memo12.Text) = 0)
      THEN BEGIN
        ShowMessage('The Account has been found, but the password is incorrect.');
        Exit;
      END;


    // wenn man noch eine Unterseite ansteuern möchte
    FreeAndNil(Params); // die Postparameterliste löschen
    Params := TIdMultiPartFormDataStream.Create;

    // Seite wechseln etc.

    Params.AddFormField('subject', UTF8Encode(edit6.Text));
    Params.AddFormField('message', UTF8Encode(memo1.Text));
    GetList.Text := IdHTTP1.Post('http://www.meineseite.org/newthread.php?do=newthread&f=16', Params);

  FINALLY // Freigeben
    FreeAndNil(Params);
    IdSSLIOHandlerSocketOpenSSL.Free;
    IdCookieManager.Free;
    GetList.Free;
    IdHTTP.Free;
  END;

Ich hoff echt, ihr könnt mir helfen und bitte nicht nur Links posten...Ich versteh vom idhttp noch nicht so viel, bzw will es versuchen zu verstehen...

Vielen Dank!!

Geändert von RmX (24. Jul 2010 um 12:34 Uhr)
 
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: idhttp Login mit Cookies

  Alt 24. Jul 2010, 12:51
Ich sehe da Javascript eingebettet im HTML.
Ohne Javascript-Interpreter wird das Einloggen wohl nicht funktionieren.

Du musst wahrscheinlich zum TWebBrowser Active-X Control greifen...
 
RmX

Registriert seit: 24. Mai 2010
2 Beiträge
 
#3

AW: idhttp Login mit Cookies

  Alt 24. Jul 2010, 13:03
och neee...
von dem wollte ich gerade weg, weil der mir so rumtrödelt...
gibts da noch ne andere möglichkeit?
 
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: idhttp Login mit Cookies

  Alt 24. Jul 2010, 14:20
Ja, die gibt es. Lehne Cookies einfach ab und das vBulletin (darum geht es doch lt. Code-Ausschnitt) wird Dir eine Session-ID präsentieren. Aber der Code, den Du da zeigt, ist nichts anderes als ein Bot. Selbst den Zugriff auf newpost.php hast Du im Beispiel gelassen.

Auch wenn ich nichts über Deine speziellen Absichten sagen kann, wirst Du vielleicht verstehen, dass ich als Foren-Betreiber so rein gar kein Verständnis für automatisierten Zugriff (inkl. Beitragserstellung) auf das Forum habe.
Daniel R. Wolf
mit Grüßen aus Hamburg
 
Thema geschlossen


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz