phpbar.de logo

Mailinglisten-Archive

[php] schaedlichen Code filtern

[php] schaedlichen Code filtern

Sebastian Mendel lists at sebastianmendel.de
Fre Apr 7 12:52:38 CEST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

G.Wendebourg schrieb:
> Moin, moin,
> welche Wege sind hier bekannt, schaedlichen Code aus Benutzereingaben zu 
> erkennen / zu filtern ?


preg_replace('/[^-a-z0-9_]/', '', $string)
oder strip_tags()
oder htmlspecialchars()
oder mysql_real_escape_string()
oder add_slashes()

Kommt darauf an WOFÜR du es sicher machen willst.


> Gibt es Wege, die umstandsfrei einzusetzen sind, um ALLE 
> Eingabevariablen summarisch zu checken ?

foreach($_REQUEST as $param => $value) {
    $_REQUEST[$param] = preg_replace(..., $value);
}


> btw. hatte ich Probleme, das $-Zeichen einfach mit ereg_replace zu 
> entsorgen.
> Versucht hatte ich es nach dem Muster 
> ereg("\$|$|\.|\|?|\!|<|>|\^|\/|\[|\]|\(|\)|\{|\}|\=",$test), was zu

wenn überhaupt dann

ereg('[\$\.\\\?\!\<\>\^\/\[\]\(\)\{\}\=]', $test);


> einem inkonsistenten Verhalten fuehrte: mit Escape \ ebenso wie ohne.

was stört denn am $?


> Vermutlich kennt hier jemand eine RegExp die zuverlaessiger ist, um 
> Sonderzeichen (mit wenigen Ausnahmen, wie das Leerzeichen) zu eliminieren ?


p.s. preg_*() ist ereg_*() vorzuziehen


- --
Sebastian Mendel

www.sebastianmendel.de
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (MingW32)

iD8DBQFENkR2X/0lClpZDr4RAphoAJ0c9sK/E12qbybvfDo7e22x4qCmzACfSJBH
2wFIzxtxypf0/1+XpiCv/TU=
=swjl
-----END PGP SIGNATURE-----

php::bar PHP Wiki   -   Listenarchive