Hejsa..
Jeg har denne kode:
- public static function SI($string)
- {
- if(!get_magic_quotes_gpc()){
- $string = addslashes($string);
- }
- return htmlentities($string);
- }
- public static function insert($table, $boolean)
- {
- $table = self::SI($table);
- $boolean = self::SI($boolean);
-
- $link = mysql_query("INSERT INTO " . self::db_prefix . $table . " " . $boolean);
- return $link;
- }
- }
Og jeg indsætter med:
$db::insert(users, "(`username`,`password`) VALUES (123, 123);") or die(mysql_error());
Det virker, men hvis jeg skifter værdierne 123 til noget andet f.eks. SUPERHEMMELIGKODE, så får jeg mysql fejl med at den ikke kan finde kolonnen SUPERHEMMELIGKODE. Og jeg har prøvet med noget '' eller "" samt \\, men intet af det virkede eller gjorde nogen forskelv. Så er lidt på bar bund. Hvad kan der være galt?
EDIT:
Jeg har fundet ud af at det var addslashes() som lavede fejlen. Hvordan kan jeg undgå dette, fordi jeg er ikke interesseret i at få sql injection

- Mvh Magnus.
Indlæg senest redigeret d. 19.05.2010 20:07 af Bruger #15047