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 2 von 2     12   
MathiasE

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

AW: Einloggen mit idhttp auf https-Server

  Alt 7. Nov 2013, 13:19
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
  Mit Zitat antworten Zitat
Benutzerbild von Back2Code
Back2Code

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

AW: Einloggen mit idhttp auf https-Server

  Alt 7. Nov 2013, 14:10
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

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:
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;
Aufruf:

sRSAKey := GetBetween(sQuelltext, 'value="', '" /><input type="hidden" id="rsa_e"');
00111100001100110010000001000100011001010110110001 1100000110100001101001
  Mit Zitat antworten Zitat
MathiasE

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

AW: Einloggen mit idhttp auf https-Server

  Alt 8. Nov 2013, 12:02
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:
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;
Vielen Dank für die Hilfe bisher!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:35 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