PHP: Seite vor SQL Injection schützen

Dieses Thema PHP: Seite vor SQL Injection schützen im Forum "Windows XP Forum" wurde erstellt von chr!z, 2. Mai 2007.

Thema: PHP: Seite vor SQL Injection schützen Hallo ich wollt mal fragen wie man sich am besten vor SQL-Injection-Angriffen schützen kann? Reicht es wenn man...

  1. Hallo ich wollt mal fragen wie man sich am besten vor SQL-Injection-Angriffen schützen kann?
    Reicht es wenn man einfach die addslashes Funktion benutzt, also statt

    Code:
    <?
    if($_POST['sent']=='1')
    {
    	$name=$_POST['name'];
    	echo$name;
    
    	$sql=mysql_query(INSERT INTO tabelle SET name=$name);
    	if($sql)
    	{
    		echoBefehl wurde ausgeführt!;
    	}
    	else
    	{
    		echoFehler;
    	}
    }
    else
    {
    	echo<form action='' method='POST' name='formular'>;
    	echo<input type='hidden' name='sent' value='1'>;
    	echo<input type='text' name='name'>;
    	echo<input type='submit' value='absenden'>;
    }
    ?>
    
    einfach

    Code:
    <?
    if($_POST['sent']=='1')
    {
    	$name=addslashes($_POST['name']);
    	echo$name;
    
    	$sql=mysql_query(INSERT INTO tabelle SET name=$name);
    	if($sql)
    	{
    		echoBefehl wurde ausgeführt!;
    	}
    	else
    	{
    		echoFehler;
    	}
    }
    else
    {
    	echo<form action='' method='POST' name='formular'>;
    	echo<input type='hidden' name='sent' value='1'>;
    	echo<input type='text' name='name'>;
    	echo<input type='submit' value='absenden'>;
    }
    ?>
    
    nimmt? Und kann man dann auch noch Dinge wie strip_tags , trim oder strtolower
    Code:
    $name = strtolower(strip_tags(trim($_POST['name'])));
    
    benutzen?

    Is vielleicht n bisschen unsauber programmiert soll aber nur en Beispiel sein (-:

    Also vielen Dank für Antworten!
     
  2. zed
    zed
    Wenn auf Deinem Server magic_quotes_gpc = OFF ist, kannst Du addslashes verwenden.
    Trim und strtolower anwenden funktioniert natürlich auch weiterhin. Allerdings ist der konträre Befehl zu addslashes = stripslashes.

    Aber wieso escape'st Du nicht einfach in der Anfrage an die DB? Damit ersparst Du Dir auch anschliessendes stripslashes beim auslesen ;)

    Code:
    $sql=mysql_query(INSERT INTO tabelle SET name='.mysql_real_escape_string($name).');
     
  3. Du schützt dich dadurch, indem du die im Skript übergebenen Werte per POST oder GET auf Plausibilität überprüfst und nur bestimmte Zeichen zulässt.
     
Die Seite wird geladen...

PHP: Seite vor SQL Injection schützen - Ähnliche Themen

Forum Datum
Seitendarstellung fehlerhaft Windows 7 Forum 16. Feb. 2016
IE 11 zeigt keine Seiten an Web-Browser 9. Dez. 2015
Kamera "Rutscht" zur Seite in Spielen Windows 10 Forum 30. Juli 2015
Nach der Anmeldung nicht die Startseite zeigen Windows 10 Forum 4. Juni 2015
Fehler beim öffnen von https-Seiten Software: Empfehlungen, Gesuche & Problemlösungen 13. Mai 2015