Dr Dau hat gesagt.:Hallo!
Die benötigte Funktion wurde von RS9999 schon angewand..... aber von den Nachfolgern wieder verworfen ---> mysql_real_escape_string().
Gruss Dr Dau
Hmm, ich habe mir das mal genauer angeschaut, habe allerdings einige Fragen:
in dem Beispiel von php.net verwenden sie auch noch folgenden Befehl:
PHP:
quote_smart($_POST['username']),
quote_smart($_POST['password']));
Hier ersteinmal das Beispiel:
<?php
// Variablen absichern
function quote_smart($value)
{
// Ueberfluessige Maskierungen entfernen
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// In Anfuehrungszeichen setzen, sofern keine Zahl
// oder ein numerischer String vorliegt
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string($value) . "'";
}
return $value;
}
// Verbinden mit der Datenbank
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());
// Erstellen eines sicheren Query
$query = sprintf("SELECT * FROM users WHERE user=%s AND password=%s",
quote_smart($_POST['username']),
quote_smart($_POST['password']));
mysql_query($query);
?>
So: um jetzt mal meine Situation zu schildern: Ich biete meinen Usern ein Kontakt Formular an, d.h. die User ( müssen nciht registriert sein) können mir einen Text über ein Formular schreiben, was dann in meinem Admincp angeziegt wird.
Muss ich dann bei jder query diesen string nutzen, d.h. also bei SELECT im admincp und bei INSERT auf der mainpage?
was genau bewirkt dieses
PHP:
quote_smart($_POST['password']));
dieser Befehl:
PHP:
mysql_real_escape_string()
Also ich hab mich wirklich damit befasst, bräuchte allerdings noch ein wenig aufklärung, da das Thema Sicherheit doch wirklich wichtig ist.