![]() |
AW: Einloggen mit idhttp auf https-Server
Danke für die Antworten!
Ich versuche gerade den RSA Key zu erstellen bzw. Benutzername und Passwort zu verschlüsseln (was das javascript macht). Habe mir das alles ein bisschen einfacher vorgestellt :( |
AW: Einloggen mit idhttp auf https-Server
Mach mal nen Get auf die Html und speichere dir den Quelltext und guck ob da der Key drin ist. Wenn ja, dann speicherst du dir die Value in einer Variable 8-)
Code:
value="D9EB8685177B7F25E374FFA82D4276391DDC84E5F39 DE4A62A87EBBF015E0B174ED6797B23BA3D5D390D4FD2708C9 7972D5E9E7D7BBB9E3FF5FC90A04BF17C4496FE20F273799A7 059660BC3EAD4F2592D0DDE6FE7E950AA78A259B7188AD7ECC D7DC4777811AE7B2762B09730AC195A4B453C9C5986D1DCEC7 B60C1AD0D3580766BECB216D82A2A190BE8E2074631C78D9D8 90678C799D79E79FD979F012C9A3F21D94EBFD48673EDB79DB 1B6AC29987AAD9E332DA727306663FAF9B25093EB11767B70C AD78618709A334F7C721858FF5347FED56B4CE8C42A0A44913 87AFE828B6B12101" /><input type="hidden" id="rsa_e" name="e" value="10001" />
Ich mach dir mal nen Beispiel
Delphi-Quellcode:
Aufruf:
function GetBetween (Str: String; StrStart : String; StrEnd : String) : String;
var iPos : Integer; BackUp : String; begin result := ''; iPos := Pos (StrStart, Str); if iPos <> 0 then begin Delete (Str, 1, iPos + Length (StrStart) - 1); iPos := Pos (StrEnd, Str); if iPos <> 0 then begin result := Copy(Str,1, iPos - 1); end; end; end;
Delphi-Quellcode:
sRSAKey := GetBetween(sQuelltext, 'value="', '" /><input type="hidden" id="rsa_e"');
|
AW: Einloggen mit idhttp auf https-Server
Hallo!
Ja, der Key steht auf der Webseite. Danke für das Beispiel. Jetzt habe ich noch eine Frage (ja, die sind vielleicht einfach - und ja, ich kenne mich damit leider schlecht aus): - Wie verschlüssele ich jetzt das Passwort mit dem Key? irgendwie habe ich gelesen, dass es da mehrere arten gibt.... Habe das Beispiel von Sougetsu (von oben) angepasst und hoffe, dass nach korrekter Verschlüsselung des Passworts der Login funktionieren sollte
Delphi-Quellcode:
Vielen Dank für die Hilfe bisher!
procedure TForm1.btn1Click(Sender: TObject);
var PostDataStream : TStringStream; MYIOHandler: TIdSSLIOHandlerSocket; MyMultiPartFormDataStream: TIdMultiPartFormDataStream; begin //Voraussetzungen für SSL erzeugen MYIOHandler:=TIdSSLIOHandlerSocket.Create(nil); MYIOHandler.SSLOptions.Method:=sslvSSLv23; // 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); //Username [B] MyMultiPartFormDataStream.AddFormField('pass',RSApassword); //RSA verschlüsseltes Passwort [/B] 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'); //[B]die pid bleibt immer gleich[/B] MyMultiPartFormDataStream.AddFormField('redirect_url',''); //Auch unbekannt wofür das ist MyMultiPartFormDataStream.AddFormField('tx_felogin_pi1[noredirect]','0'); //Hier auch [B] MyMultiPartFormDataStream.AddFormField('n',RSAkey); //der Schlüssel aus dem html [/B] MyMultiPartFormDataStream.AddFormField('e','10001'); //[B]Der Wert bleibt immer gleich[/B] IdHTTP1 := TIdHTTP.Create(nil); IdHTTP1.IOHandler:=MYIOHandler; // Der Kompo das SSL mitgeben damit es eine SSL Verbindung aufbauen kann. IdHTTP1.AllowCookies:=true; //Standardeinstellungen vornehmen wie Cookies und Redirects. IdHTTP1.HandleRedirects:=true; PostDataStream := TStringStream.Create(''); try //Connect IdHTTP1.Post(URL, MyMultiPartFormDataStream, PostDataStream); Memo1.Text := PostDataStream.DataString; finally MyMultiPartFormDataStream.Free; PostDataStream.Free; MYIOHandler.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz