PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL, abfragen sichern, Injections etc.


darph
2006-08-09, 13:35:28
Ja, nun.

Die Frage ist: Ist das sicher genug gegen Injections und Dergleichen?


public function enterAccount($account) {
$query = sprintf("INSERT INTO "
."account (AccountType_id, title, description) "
."VALUES (%d, '%s', '%s');",
mysql_real_escape_string($account->getAccountType()),
mysql_real_escape_string($account->getTitle()),
mysql_real_escape_string($account->getDescription()));
$this->insert($query);
return mysql_insert_id();
}

$this->insert($query) führt einfach das Query mit einer standardisierten Fehlermeldung aus, damit ich das nicht jedesmal neu tippen muß.

The_Invisible
2006-08-09, 15:33:00
Ja, nun.

Die Frage ist: Ist das sicher genug gegen Injections und Dergleichen?


public function enterAccount($account) {
$query = sprintf("INSERT INTO "
."account (AccountType_id, title, description) "
."VALUES (%d, '%s', '%s');",
mysql_real_escape_string($account->getAccountType()),
mysql_real_escape_string($account->getTitle()),
mysql_real_escape_string($account->getDescription()));
$this->insert($query);
return mysql_insert_id();
}

$this->insert($query) führt einfach das Query mit einer standardisierten Fehlermeldung aus, damit ich das nicht jedesmal neu tippen muß.

ja, sieht schon sicher aus

ansonsten kannst die eingaben auch noch mit preg_match() prüfen wennst es doppelt sicher haben willst

mfg

Gast
2006-08-09, 16:31:12
Ich würde die id noch auf int casten.

MadMan2k
2006-08-11, 01:07:52
Ich würde die id noch auf int casten.
macht sprintf automatisch