Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Benutzeranmeldesystem mit mySQL-Datenbank mit Angular JS?

Sie sollten sich nicht auf einer eckigen Seite anmelden, da alle datenbezogenen Daten von Javascript verarbeitet werden, das leicht gestoppt, debuggt und analysiert werden kann.

Der bessere Weg wäre:

  1. Erstellen Sie eine normale index.php, die dem Benutzer ein Anmeldeformular präsentiert.
  2. Überprüfen Sie beim Absenden die Gültigkeit mit Ihrer Datenbank.
  3. Wenn der Benutzer gültig ist, starten Sie eine Sitzung und header weiter zur eigentlichen Angle-App-Seite.
  4. Der einzige Weg, um zu überprüfen, ob dies eine gültige php session ist befindet sich in Ihrem REST Aufrufe über eckiges http Service für Ihre datenbankbezogenen PHP-Skripte.
  5. Also jeder Lese-/Schreibzugriff auf Ihre REST api sollte prüfen, ob dieser Benutzer diese db-Operation wirklich im PHP-Skript ausführen darf.
  6. Wenn die Prüfung fehlschlägt, header zurück zur Login-Seite oder ein "Got you!" Seite.

Auf diese Weise kann der Angreifer zwar den js-Code der Winkel-App sehen (wenn er irgendwie an die tatsächliche Adresse kommt), aber es ist völlig nutzlos für ihn, da er die tatsächlichen Daten nie sehen kann, solange er nicht gestartet hat eine gültige php session . Und die Daten sind das, was Sie schützen möchten, nicht das Skript der App.

Kurz gesagt:Mischen Sie Standard-PHP-Validierung UND Angular. Erlauben Sie Haxoren, auf Ihre Seite zu gelangen, aber zeigen Sie ihnen niemals Ihre zugrunde liegenden Daten. Sobald jemand versucht, mit Ihren Daten herumzuspielen, schmeißen Sie ihn raus.

Dies ist fast die gleiche Antwort, die ich gegeben habe hier

Suchen Sie nach den markierten Schlüsselwörtern sowohl auf PHP- als auch auf Angular-Sites, um die Idee dahinter zu verstehen.