-
Du solltest dir generell angewöhnen, alles was in die DB geschrieben wird mit "addslashes" und "intval" zu entschärfen.....ich habe schon Portale zerbröseln sehen, weil ich mich anmelden wollte.
Zusätzlich sollten nicht nur die Werte, sondern auch die Felder in einer Query angegeben werden, ansonsten mußt du beim Script-Update, welches die betroffene Tabelle der DB erweitert, in jedem Script nachforschen, ob die Reihenfolge noch stimmt:
Code:
sql_query("INSERT INTO " . $prefix . "_tolle_tabelle ('daten_1', 'daten_2') VALUES ('" . addslashes($daten_1) . "', '" . addslashes($daten_2) . "')");
Diese Methode dürfte ein SQL-Injection schonal etwas erschweren ;)
-
http://www.klamm.de/forum/showpost.p...39&postcount=7
ebenfalls sehr intressantes zu dem Thema
Ich würds eher so machen, denn addslashes verhindert das imho nur unzureichend - hab aber noch nicht geschafft eine hinzubekommen ums mal zu testen...
-
Code:
function db_query($query){
$args=func_get_args();
$vargs=array();
for($i=1;$i<func_num_args();$i++) {
if(get_magic_quotes_gpc()) {
$args[$i]=stripslashes($args[$i]);
}
$vargs[]=mysql_real_escape_string($args[$i]);
}
$query=vsprintf($query,$vargs);
$res=mysql_query($query);
return($res);
}
db_query('SELECT * FROM %s WHERE `%s`=%d','user','klammid',93995);
Ist mal wieder gaaaaaaanz toll :-P
Da baut jemand etwas eigenes, was nach "toll" und "sicher" aussieht, benutzt aber noch ein "$args[$i]=stripslashes($args[$i]);" um es dann ungeprüft in der DB abzufragen....da bleibe ich doch besser bei meinem "unsicheren" addslashes ;)
-
hm also ums kurz und bündig zu sagen: das beste ist wohl immer noch zu gucken, wie oft denn sql-befehle ala insert update usw in der fertigen abfrage drinn sind - isses mehr als einmal die abfrage vergessen und user schimpfen :D
-
Das muß ja auch nicht sein, es gibt aber durchaus Coder, die mit Verstand programmieren und sich mal ein wenig mit der Sache auseinandersetzen ....wie zb. dieser Schnipsel :
Code:
// bei <img> muss ein ALT Attribut spezifiert sein, hier versuchen die anzufuegen, falls es fehlt
$mxoutput = preg_replace('#(<img[^>]*)>#ie', 'stripslashes((preg_match("!\s*alt\s*=\s*[\'\"]!i", "\1"))?"\0":"\1 alt=\"\">")', $mxoutput);