AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke am Webserver (PHP) anmelden
Thema durchsuchen
Ansicht
Themen-Optionen

am Webserver (PHP) anmelden

Ein Thema von strom · begonnen am 16. Dez 2018 · letzter Beitrag vom 17. Dez 2018
Antwort Antwort
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#1

AW: am Webserver (PHP) anmelden

  Alt 16. Dez 2018, 22:09
ok,

wieso wird immer der code 200 zurückgegeben? auch wenn die logindaten falsch sind?

Delphi-Quellcode:

var
  params: TStringList;
  url: string;
  code: integer;
begin
  url:='http://192.168.0.39/index.php?action=login';
  params := TStringList.Create;
  try
    params.Add('btn-login=btn-login');
    params.Add('email='+ Edit1.Text);
    params.Add('password='+ Edit2.Text);

    idHTTP1.Post(url, params);



    finally

     code := idhttp1.ResponseCode;
    ShowMessage(IntToStr(code));
    params.free;
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#2

AW: am Webserver (PHP) anmelden

  Alt 16. Dez 2018, 22:14
Das musst du den Programmierer des Webservers fragen.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#3

AW: am Webserver (PHP) anmelden

  Alt 16. Dez 2018, 22:23
Zitat:
wieso wird immer der code 200 zurückgegeben? auch wenn die logindaten falsch sind?
Weil der ResponseCode nichts damit zu tun hat, ob der Login scheitert oder nicht.

Du solltest am besten mal den Wikipediaartikel zu http codes lesen.^

Ich würde es ganz anders machen.
Ich würde eine php-Datei auf dem Server anlegen die einzig dafür da ist von deinem Programm angesprochen zu werden.
Der übergibst du per POST Name und Password. Das Password am besten direkt schon gehasht so wie es auch in der Datenbank gehast ist.
Dann prüfst du in der PHP-Datei, ob ein solcher Nutzer vorhanden ist und wenn ja, ob das Passwort stimmt. Wenn eins von beiden nicht zutrifft, ist die Verarbeitung beendet und du könntest mit echo irgendwas zurückgeben was du in deinem Programm auswertest. Ansonsten loggst du den Nutzer ein und kannst auch da irgendwas echo'n, damit dein Programm weiß was los ist.

Eine direkte Verbindung zur Datenbank wäre natürlich am besten. Aber egal wie du es machst, es ist nicht sicher.

Geändert von DieDolly (16. Dez 2018 um 22:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.284 Beiträge
 
Delphi 12 Athens
 
#4

AW: am Webserver (PHP) anmelden

  Alt 16. Dez 2018, 22:34
Die meisten Webdienste geben bei einem formularbasierten Login den Code 200 zurück und trompeten den Login-Fehler lediglich über HTML heraus. Früher war das mal verpönt, heute aber Usus wegen der Spambots.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#5

AW: am Webserver (PHP) anmelden

  Alt 17. Dez 2018, 12:14
Könnte ich was an die idHTTP Komponente schicken?

Habt Ihr ein Beispiel für mich?

Code:

 if (password_verify($password, $row['password']) && $count==1) { 
                         $_SESSION['userSession'] = $row['user_id'];      
                         header("Location: home.php");
                               
                                  ??????????????????????????????????
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#6

AW: am Webserver (PHP) anmelden

  Alt 17. Dez 2018, 12:17
Guck mal wie ich das oben machen würde. So kannst du das PHP-Script "antworten" lassen.
  Mit Zitat antworten Zitat
strom

Registriert seit: 23. Aug 2008
Ort: Keine Ergebnisse gefunden
290 Beiträge
 
#7

AW: am Webserver (PHP) anmelden

  Alt 17. Dez 2018, 12:45
Was meinst Du damit " Schaue oben" ? Bin schon total verwirrt

Wie muss das Script aussehen bzw. der header (' '); oder ein flush(); ??????
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#8

AW: am Webserver (PHP) anmelden

  Alt 17. Dez 2018, 13:04
Nix davon.

Eher so

Ich würde es ganz anders machen.
Ich würde eine php-Datei auf dem Server anlegen die einzig dafür da ist von deinem Programm angesprochen zu werden.
Der übergibst du per POST Name und Password. Das Password am besten direkt schon gehasht so wie es auch in der Datenbank gehast ist.
Dann prüfst du in der PHP-Datei, ob ein solcher Nutzer vorhanden ist und wenn ja, ob das Passwort stimmt. Wenn eins von beiden nicht zutrifft, ist die Verarbeitung beendet und du könntest mit echo irgendwas zurückgeben was du in deinem Programm auswertest. Ansonsten loggst du den Nutzer ein und kannst auch da irgendwas echo'n, damit dein Programm weiß was los ist.

Eine direkte Verbindung zur Datenbank wäre natürlich am besten. Aber egal wie du es machst, es ist nicht sicher.
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:49 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