Joachim: Sicherheit bei Eintraegen in DB/addcslashes

Beitrag lesen

Hi,

ich habe gelesen, dass addslashes moeglicherweise nicht ausreicht, um
Datenbank-Eingaben von Freitext zu validieren. Seit PHP 4.3 gibts ja addcslashes(), womit man ohne Aufwand alle moeglichen Zeichen escapen kann.
Haltet Ihr sowas nun fuer paranoid, oder ist es angemessen. Hab ich eventuell was uebersehen?
/*
33  0x21  !
34  0x22  "
35  0x23  #
36  0x24  $
37  0x25  %
38  0x26  &
39  0x27  '
40  0x28  (
41  0x29  )
42  0x2A  *
45  0x2D  -
46  0x2E  .
47  0x2F  /
59  0x3B  ;
60  0x3C  <
62  0x3E  >
63  0x3F  ?
64  0x40  @
92  0x5C  \ */

$not_valid =  "\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2A\x2D\x2E\x2F\x3B\x3C\x3E\x3F\x40\x5C";

$str  =  ' " ; \ x\ x// "" ' # ? -  ';
$str  =  addcslashes($str, $not_valid);

Gruesse  Joachim