Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   am Webserver (PHP) anmelden (https://www.delphipraxis.net/198983-am-webserver-php-anmelden.html)

strom 16. Dez 2018 19:31

am Webserver (PHP) anmelden
 
hallo,

möchte mich zur authentifizierung am webserver anmelden.
was ist hier falsch?

wie könnte eine request (fehlercode) für ein memo aussehen?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  params: TStringList;
  url: string;
begin
  url:='http://www.test.de/index.php?action=login';
  params := TStringList.Create;
  with params do
  begin
    Add('email='+'test@test.de');
    Add('password='+'test');
  end;
    idHTTP1.Post(url, params);
  params.free;
end;

DieDolly 16. Dez 2018 19:55

AW: am Webserver (PHP) anmelden
 
Also als erstes: https.
Als zweites kein with.
Dann
Delphi-Quellcode:
 Add('email=test@test.de');
 Add('password=test');
Wo der Fehler liegt kann ich dir trotzdem nicht sagen. Vielleicht akzeptiert dein Server das einfach nicht ohne HTTPs was ich nicht schlecht fände.

Abgesehen davon haben Logindaten nichts in einer ausführbaren Datei zu suchen.

strom 16. Dez 2018 20:12

AW: am Webserver (PHP) anmelden
 
hallo,

https kommt später (SSL) Port 443 zum testen erstmal über port 80


So geht es auch nicht?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  params: TStringList;
  url: string;
begin
  url:='http://www.test.de/index.php?action=login';
  params := TStringList.Create;
  try

    params.Add('email=test@test.com');
    params.Add('password=test');

    idHTTP1.Post(url, params);
  finally
    params.free;
  end;
end;

DeddyH 16. Dez 2018 20:20

AW: am Webserver (PHP) anmelden
 
Bist Du sicher, dass das Format so stimmt? Möglicherweise erwartet der Server ja auch ein JSON-Objekt im Payload. Hast Du es mal ohne Delphi z.B. Mit Postman versucht? Oder ist der Login gar dokumentiert?

strom 16. Dez 2018 20:30

AW: am Webserver (PHP) anmelden
 
PHP so sieht der Code aus...


Code:
if (isset($_SESSION['userSession'])!="") { 
   header("Location: home.php");
   exit;
Code:
if (isset($_POST['btn-login'])) {
Code:
 if (password_verify($password, $row['password']) && $count==1) { 
                         $_SESSION['userSession'] = $row['user_id'];      
                         header("Location: home.php");
[

DieDolly 16. Dez 2018 20:34

AW: am Webserver (PHP) anmelden
 
Code:
if (isset($_POST['btn-login'])) {
Wenn ich die Zeile richtig verstehe, dann wird nur eingeloggt, wenn das tatsächlich über eine Komponente (vermutlich Button) mit der id btn-login geht.

Das wird meiner Meinung nach sehr hacky und unsicher. Du musst btn-login also auch noch mitschicken.


SSL sollte, selbst zum Testen, oberste Priorität haben. Du schickst schließlich heikle Daten übers WWW.

DeddyH 16. Dez 2018 20:36

AW: am Webserver (PHP) anmelden
 
Nunja, zumindest btn-login fehlt ja in Deinem Post-Request.

strom 16. Dez 2018 20:48

AW: am Webserver (PHP) anmelden
 
zum testen gehe ich doch über das Netzwerk ip, der port 80 ist doch im router nicht freigegeben!

habt aber natürlich recht! alles gut!

wie sende ich ein btn-login über params?

DeddyH 16. Dez 2018 20:54

AW: am Webserver (PHP) anmelden
 
So wie die anderen Parameter auch, wie das aussehen soll kannst Du ja im PHP-Source nachlesen, der scheint Dir ja vorzuliegen.

DieDolly 16. Dez 2018 20:58

AW: am Webserver (PHP) anmelden
 
Zitat:

wie sende ich ein btn-login über params?
So wie du auch die anderen Sachen mitsendest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 Uhr.
Seite 1 von 3  1 23      

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