Heim > Backend-Entwicklung > PHP-Tutorial > PHP- und MySQL-Anmeldefunktionen verhindern SQL-Injection

PHP- und MySQL-Anmeldefunktionen verhindern SQL-Injection

小云云
Freigeben: 2023-03-20 14:02:01
Original
1578 Leute haben es durchsucht

Ich habe kürzlich etwas über SQL-Injection gelernt und festgestellt, dass die Anmeldefunktion vieler Leute gleichzeitig den vom Benutzer eingegebenen Benutzernamen und das Kennwort verwendet, kombiniert in einer SQL-Anweisung, und die Abfrage ermittelt, ob ein Ergebnis zu ermitteln ist ob die Anmeldung durchgeführt werden kann. Zum Beispiel:


  1. <?php  
    $username = $_POST[&#39;username&#39;];  
    $password = $_POST[&#39;password&#39;];  
    $sql = "select * from user where username=&#39;{$username}&#39; and password=&#39;{$password}&#39; ";  
    $this->db->query($sql);
    Nach dem Login kopieren

Es ist einfach, „“ oder „1=1 – Injektion““ in den Parameter „Benutzername“ einzufügen. Obwohl dies nur ein Beispiel ist, werden heutzutage viele Frameworks verwendet. Wenn Sie nicht aufpassen, wird die endgültige kombinierte Anweisung dieser ähneln. Lassen Sie uns nicht über Eingabeparameterfilterung, Parameterbindung, Syntaxanalyse und andere gängige Methoden zum Umgang mit SQL-Injection sprechen. Wir können die Beurteilungsmethode ändern:

  1. <?php  
    $username = $_POST[&#39;username&#39;];  
    $password = $_POST[&#39;password&#39;];  
    $sql = "select * from user where username=&#39;{$username}&#39; ";  
    $data = $this->db->query($sql);  
      
    ......  
      
    if($data[&#39;password&#39;] == $password){  
        //密码OK  
    }else{  
        //密码错误  
    }
    Nach dem Login kopieren


Auf diese Weise werden zuerst die Daten gefunden und dann wird PHP selbst verwendet, um festzustellen, ob das Passwort übereinstimmt. Wird das Problem dadurch gelöst?

Verwandte Empfehlungen:

Empfohlene 10 Methoden zur Verhinderung von SQL-Injection

Das obige ist der detaillierte Inhalt vonPHP- und MySQL-Anmeldefunktionen verhindern SQL-Injection. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage