PHP: Seite vor SQL Injection schützen

  • #1
C

chr!z

Neues Mitglied
Themenersteller
Dabei seit
02.05.2007
Beiträge
3
Reaktionspunkte
0
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
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.
 
Thema:

PHP: Seite vor SQL Injection schützen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben