Thema: Delphi idHTTPServer : Einloggen

Einzelnen Beitrag anzeigen

Benutzerbild von Assun
Assun

Registriert seit: 3. Feb 2005
Ort: Hilzingen am Bodensee
469 Beiträge
 
Delphi 2005 Personal
 
#9

Re: idHTTPServer : Login Identifizierung, wie realisieren ?

  Alt 24. Jul 2005, 19:58
ok, dank Mr.Knogges Hilfe (THX !!!) geht das einloggen nun !!

mit diesem Code :

Delphi-Quellcode:
function Parse(char, s: string; count: integer): string;
 var
   i: Integer;
   t: string;
 begin
   if s[length(s)] <> char then
     s := s + char;
   for i := 1 to count do begin
     t := copy(S, 0, pos(char, s) - 1);
     s := copy(s, pos(char, s) + 1, length(s));
   end;
   result := t;
 end;
und

Delphi-Quellcode:
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
Var
  Stream: TFilestream;
  TheString : String;
  i, Anzahl : Integer;

  begin
if ARequestInfo.Document = '/'  then
begin
  try
  begin

    AResponseInfo.ContentType := 'text/html';
    Stream := TfileStream.Create('Admin/login.htm', fmOpenRead or fmShareDenyWrite );
    AResponseInfo.ContentStream := Stream;
    setlength(TheString, stream.size);
    stream.Read(TheString[1], stream.size);
    Anzahl := ARequestInfo.Params.Count;

    for i := 1 to Anzahl do


  if (parse('=', ARequestInfo.params[0], 1) = 'submit') and
          (parse('=', ARequestInfo.params[0], 2) = '1') then
          if (parse('=', ARequestInfo.params[1], 1) = 'username') and
             (parse('=', ARequestInfo.params[1], 2) = 'Assun') then
            if (parse('=', ARequestInfo.params[2], 1) = 'password') and
               (parse('=', ARequestInfo.params[2], 2) = 'test') then begin

    AResponseInfo.ContentType := 'text/html';
    Stream := TfileStream.Create('Admin/test.htm', fmOpenRead or fmShareDenyWrite );
    AResponseInfo.ContentStream := Stream;
    setlength(TheString, stream.size);
    stream.Read(TheString[1], stream.size);
    userok := true;
               end;
   end
   except
   Exit;
end;
end;
end;

end.
Meine Bitte : geht bitte alle mal auf http://assun.gotdns.com/ (mein delphi http server) und loggt euch ein. dann steht da "sie sind eingeloggt". das ist eine htm datei namens "test.htm" <-- versucht mal diese anzuzeigen ohne das ihr euch einloggt !

Um euch normal einzuloggen :

Name = Assun
Passw = test

Und noch ne Frage : wie kann ich erreichen, dass das passw nicht mehr im Browser oben inner Adresszeile angezeigt wird ?

Vielen Dank für eure Mühe !

Gruß Assun

Edit // Und wie immer bitte Rückmeldung geben. also "Geht das einloggen?", "habt ihr ne Sicherheitslücke gefunden?" oder "wisst ihr wie ich das umgehen kann dass man inner Adresszeile den Namen + passw sieht?"

Sebastian Dietrich
http://Assun.de - bald komplett überarbeitet
  Mit Zitat antworten Zitat