AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Einloggen mit idhttp auf https-Server
Thema durchsuchen
Ansicht
Themen-Optionen

Einloggen mit idhttp auf https-Server

Ein Thema von MathiasE · begonnen am 28. Okt 2013 · letzter Beitrag vom 8. Nov 2013
Antwort Antwort
Seite 1 von 2  1 2      
MathiasE

Registriert seit: 28. Okt 2013
5 Beiträge
 
#1

Einloggen mit idhttp auf https-Server

  Alt 28. Okt 2013, 11:52
Hallo,

Ich versuche mich auf eine Webseite mit folgendem Quellcode(Ausschnitt) zu verbinden, kann mich allerdings nicht einloggen.


<!-- ###LOGIN_FORM### -->
<form action="de.html" target="_top" method="post" onsubmit="tx_rsaauth_feencrypt(this);; return true;">
<fieldset>
<legend>Anmelden</legend>
<label for="user">Benutzername:</label>
<input type="text" id="user" name="user" value="" />
<label class="password" for="pass">Kennwort:</label>
<input type="password" id="pass" name="pass" value="" />
<input type="submit" name="submit" value="Anmelden" />
<div class="felogin-hidden">
<input type="hidden" name="logintype" value="login" />
<input type="hidden" name="pid" value="28110" />
<input type="hidden" name="redirect_url" value="" />
<input type="hidden" name="tx_felogin_pi1[noredirect]" value="0" />
<script type="text/javascript" src="typo3/sysext/rsaauth/resources/jsbn/jsbn.js"></script><script type="text/javascript" src="typo3/sysext/rsaauth/resources/jsbn/prng4.js"></script><script type="text/javascript" src="typo3/sysext/rsaauth/resources/jsbn/rng.js"></script><script type="text/javascript" src="typo3/sysext/rsaauth/resources/jsbn/rsa.js"></script><script type="text/javascript" src="typo3/sysext/rsaauth/resources/jsbn/base64.js"></script><script type="text/javascript" src="typo3/sysext/rsaauth/resources/rsaauth_min.js"></script><input type="hidden" id="rsa_n" name="n" value="D9EB8685177B7F25E374FFA82D4276391DDC84E5F39 DE4A62A87EBBF015E0B174ED6797B23BA3D5D390D4FD2708C9 7972D5E9E7D7BBB9E3FF5FC90A04BF17C4496FE20F273799A7 059660BC3EAD4F2592D0DDE6FE7E950AA78A259B7188AD7ECC D7DC4777811AE7B2762B09730AC195A4B453C9C5986D1DCEC7 B60C1AD0D3580766BECB216D82A2A190BE8E2074631C78D9D8 90678C799D79E79FD979F012C9A3F21D94EBFD48673EDB79DB 1B6AC29987AAD9E332DA727306663FAF9B25093EB11767B70C AD78618709A334F7C721858FF5347FED56B4CE8C42A0A44913 87AFE828B6B12101" /><input type="hidden" id="rsa_e" name="e" value="10001" />
</div>
</fieldset>
</form>


Ich vermute, dass ich die Parameter nicht korrekt angegeben habe.

Bis jetzt habe ich es mit den Beispielen aus dem "Tutorial" probiert, aber leider ohne Erfolg.

Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var
  PostDataStream : TStringStream;
  ParamData : TStringStream;
begin
  IdHTTP1.Create(nil);
  PostDataStream := TStringStream.Create('');
  ParamData := TStringStream.Create('');
  ParamData.WriteString('user='+username);
  ParamData.WriteString('pass='+password);
try
//Connect
  with TIdHTTP.Create(nil) do
    try
      IOHandler := TIdSSLIOHandlerSocket.Create(nil);
    finally
      IdHTTP1.Post('https://kb.zumtobel.com/de.html', ParamData, PostDataStream);
      Memo1.Text := PostDataStream.DataString;
    end;
finally
  ParamData.Free;
  PostDataStream.Free;
end;
end;
Könnte mir jemand einen Tip geben, wie man soetwas macht?
Ein einfaches GET bekomme ich hin, aber einloggen kann ich mich nicht.

Wäre für Tipps dankbar!

Sg,
Mathias

Geändert von MrSpock (28. Okt 2013 um 13:35 Uhr) Grund: Delphi Tags eingefügt.
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
675 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Einloggen mit idhttp auf https-Server

  Alt 28. Okt 2013, 11:54
Zitat:
onsubmit="tx_rsaauth_feencrypt(this);
Ich denke, Du wirst Dir diese Funktion ansehen und nachbilden müssen.
  Mit Zitat antworten Zitat
Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#3

AW: Einloggen mit idhttp auf https-Server

  Alt 28. Okt 2013, 13:05
Liegen die SSL Dlls im Programmverzeichnis?
00111100001100110010000001000100011001010110110001 1100000110100001101001
  Mit Zitat antworten Zitat
MathiasE

Registriert seit: 28. Okt 2013
5 Beiträge
 
#4

AW: Einloggen mit idhttp auf https-Server

  Alt 28. Okt 2013, 13:21
Liegen die SSL Dlls im Programmverzeichnis?
ja, tun sie


Zitat:
onsubmit="tx_rsaauth_feencrypt(this);
Ich denke, Du wirst Dir diese Funktion ansehen und nachbilden müssen.
So etwas habe ich schon befürchtet, obwohl es mich wundert, dass es da keine "einheitliche" Verschlüsselung gibt.
  Mit Zitat antworten Zitat
MathiasE

Registriert seit: 28. Okt 2013
5 Beiträge
 
#5

AW: Einloggen mit idhttp auf https-Server

  Alt 28. Okt 2013, 15:14
blöde Frage: wird das Skript nicht eben von der Seite verwendet, auf der ich mich einloggen will? Ich dachte, ich poste nur die Anmeldedaten in die Felder und rufe den "submit" Button auf - quasi das gleiche, wie wenn ich mich händisch anmelde. Oder liege ich da falsch?

Danke
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Einloggen mit idhttp auf https-Server

  Alt 28. Okt 2013, 15:19
Nein, du emulierst ja nicht die Eingaben, sondern den gesamten Browser. Also von den Eingaben bis hin zum fertigen http-Request.
  Mit Zitat antworten Zitat
Sougetsu

Registriert seit: 18. Feb 2009
20 Beiträge
 
#7

AW: Einloggen mit idhttp auf https-Server

  Alt 30. Okt 2013, 18:01
Moin,

theoretisch ist es einfach ein post zu basteln.
bei der login source könnte dein delphi code evtl. so aussehen:
Code nicht getestet, alles auf eigene Gefahr.

Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
var
  PostDataStream : TStringStream;
  MYIOHandler: TIdSSLIOHandlerSocketOpenSSL;
  MyMultiPartFormDataStream:TIdMultipartFormDataStream;
begin
  //Voraussetzungen für SSL erzeugen
  MYIOHandler:=TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  MYIOHandler.SSLOptions.Method:=sslvTLS1_2; // Method anpassen an die welche vom Server unterstützt wird.
  MYIOHandler.SSLOptions.Mode:=sslmUnassigned; //Akzeptiert alle Zertifikate egal ob signiert oder nicht, sollte behandelt werden damit Zertifikate auf Gültigkeit etc. geprüft wird.
  MyMultiPartFormDataStream:=TIdMultipartFormDataStream.Create; //Hier einen Stream erzeugen der nachher die Formulardaten enthält.
  MyMultiPartFormDataStream.AddFormField('user',username); //Das sollte klar sein
  MyMultiPartFormDataStream.AddFormField('pass',password); //Das auch
  MyMultiPartFormDataStream.AddFormField('submit','Anmelden'); //Falls geprüft wird ob der reguläre Button da war
  MyMultiPartFormDataStream.AddFormField('logintype','login'); //Auch selbsterklärend
  MyMultiPartFormDataStream.AddFormField('pid','28110'); //Gute Frage, bleibt die pid immer gleich oder ändert sie sich nach jedem Request?
  MyMultiPartFormDataStream.AddFormField('redirect_url',''); //Auch unbekannt wofür das ist
  MyMultiPartFormDataStream.AddFormField('tx_felogin_pi1[noredirect]','0'); //Hier auch
  MyMultiPartFormDataStream.AddFormField('e','10001'); //Hier auch, ändern sich die Werte mal?

  IdHTTP1.Create(nil);
  IdHTTP1.IOHandler:=MYIOHandler; // Der Kompo das SSL mitgeben damit es eine SSL Verbindung aufbauen kann.
  IdHTTP1.AllowCokies:=true; //Standardeinstellungen vornehmen wie Cookies und Redirects.
  IdHTTP1.HandleRedirect:=true;
  PostDataStream := TStringStream.Create('');
try
//Connect
      IdHTTP1.Post('https://kb.zumtobel.com/de.html', MyMultiPartFormDataStream, PostDataStream);
      Memo1.Text := PostDataStream.DataString;
    end;
finally
  MyMultiPartFormDataStream.Free;
  PostDataStream.Free;
  MYIOHandler.Free;
end;
end;
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#8

AW: Einloggen mit idhttp auf https-Server

  Alt 30. Okt 2013, 18:12
Ein empfehlenswertes Werkzeug zum Aufzeichnen der POST Request/Response für das Login ist Fiddler, das einfach als Proxy benutzt wird.
Michael Justin
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
675 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Einloggen mit idhttp auf https-Server

  Alt 31. Okt 2013, 07:11
@Sougetsu: Du hast aber schon gelesen, das da noch Javascript aufgerufen wird, sehr wahrscheinlich für das, wo Du schreibst "das dürfte klar sein"?

@Thema: da es sich um Typo3 handelt, würde ich eher vorschlagen, nach einer RPC-Schnittstelle für dieses CMS zu suchen. Die ist dann hoffentlich auch ordentlich dokumentiert. Z.B. das hier?
  Mit Zitat antworten Zitat
Sougetsu

Registriert seit: 18. Feb 2009
20 Beiträge
 
#10

AW: Einloggen mit idhttp auf https-Server

  Alt 31. Okt 2013, 22:11
oh stimmt hast recht, den Javascript Part hab ich nicht voll gelesen, da der von der form eigtl. nicht mitgesendet wird.
Dadurch ist mir die eine variable darin entfallen, die wie ich vermute den public key des rsa darstellt!?

die Stelle wo ich geschrieben habe, das dürfte klar sein, bezog sich nur auf username und password, nicht auf die anderen Objekte.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:57 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