Werte mit trim, strip_tags usw. verarbeiten

leuktra

Mitglied
hallo zusammen,

könntet ihr bitte mal schauen, ob ich den eintrag der daten aus dem onlineformular in die
datenbank sicher umgesetzt habe - für hinweise (verbesserungen usw.) wäre ich sehr dankbar, da ich kein profi bin!

hier die kurzform:

PHP:
$wert1 = trim($_POST['wert1']);
$wert2 = trim($_POST['wert2']);

...

$wert1 = strip_tags($wert1);
$wert2 = strip_tags($wert2);

...

if(get_magic_quotes_gpc()) 
{
$wert1 = stripslashes($_POST['wert1']);
$wert2 = stripslashes($_POST['wert2']);
} 
else
{
$wert1 = $_POST['wert1'];
$wert2 = $_POST['wert2'];
}

...

$result = "INSERT INTO tabelle (wert1, wert2) VALUES ('".mysql_real_escape_string($wert1)."', '".mysql_real_escape_string($wert2)."')";

usw.
 
Ich nutze eine Funktion für SQL-Injection :)
PHP:
# mySQL Sicherheitssystem
function sqlcheck($string)
{
	if (get_magic_quotes_gpc()) $string = stripslashes($string);
	if (!is_numeric($string)) $string = "'" . mysql_real_escape_string($string) . "'";
	return $string;
}
$wert1 = sqlcheck$_POST['wert1']);
...
...
 
hi bossi,

danke für deine antwort :) wenn ich das richtig verstehe, dann kann ich mein:

PHP:
if(get_magic_quotes_gpc()) 
{
$wert1 = stripslashes($_POST['wert1']);
$wert2 = stripslashes($_POST['wert2']);
} 
else
{
$wert1 = $_POST['wert1'];
$wert2 = $_POST['wert2'];
}

durch deine funktion ersetzen?
im $result kann ich dann auch bei VALUES jeweils '".mysql_real_escape_string($wert)."' weglassen?
 
Genau, kannst dir alles sparen und dann die SQL-Anweisung wie folgt nutzen:
PHP:
query("UPDATE tabelle1 SET wert1=".sqlcheck($_POST['wert1'])." WHERE id='".$_POST['id']."' ");
 
Ich habe das jetzt so gemacht - ist das richtig?

PHP:
function sqlcheck($string)
{
if (get_magic_quotes_gpc()) 
$string = stripslashes($string);
if (!is_numeric($string)) 
$string = "'" . mysql_real_escape_string($string) . "'";
return $string;
}
$wert1 = $_POST['wert1'];
$wert2 = $_POST['wert2'];
}

$result = "INSERT INTO tabelle (wert1, wert2) VALUES ('$wert1', '$wert2')";

oder muß es bei VALUES

PHP:
VALUES ('".sqlcheck($_POST['wert1'])."', '".sqlcheck($_POST['wert2'])."')

lauten? eher nicht, oder?
 
PHP:
function sqlcheck($string)
{
    if (get_magic_quotes_gpc()) $string = stripslashes($string);
    if (!is_numeric($string)) $string = "'" . mysql_real_escape_string($string) . "'";
    return $string;
}
PHP:
VALUES ('".sqlcheck($_POST['wert1'])."', '".sqlcheck($_POST['wert2'])."')
 
hi bossi,

danke für die rückantwort - ich habe das jetzt angepaßt!

ich habe mal noch eine (vielleicht etwas doofe) frage: sollte man die werte aus
auswahllisten, radio-buttons und checkboxen auch auf "sicherheit" prüfen? eigentlich nicht, oder?
 
Zurück