Re: [Python-de] mysql gefährliche zeichen "escapen"
Paul Rauch schrieb:
Mathias Uebel schrieb:
Diez B. Roggisch schrieb:
Tobias Bender schrieb:
Man könnte unerwünschte Zeichen mit re.sub einfach rauslöschen oder mit re.match testen und bei Bedarf eine exception werfen. Das ist gefaehrlicher Unfug!!! Dabei kann einem viel zu viel passieren.
Stattdessen verwendet man die parametrisierte Form von cursor.execute, etwa so:
cursore.execute("select * from some_table where some_column = %s", some_column_parameter)
Das ist bekannt.
Aber eventuell hatte der Frager etwas anders im Sinn: In PHP gibt es, um derlei Angriffe auszuschließen, eine gesonderte Funktion: mysql_escape_string
Naja, schönes Wochenende an Alle.
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
ja, sowas in der art meinte ich.
und mit whitelists werde ich nicht ohne weiteres fertig, wegem dem, was ich plane. das nutze ich für php. ich hätte gerne etwas mit gleicher funktion in python.
//benötigt für make_safe function strip_gpc_slashes ($input){ if ( !get_magic_quotes_gpc() || ( !is_string($input) && !is_array($input) ) ){ return $input; } if ( is_string($input) ){ $output = stripslashes($input); } elseif ( is_array($input) ) { $output = array(); foreach ($input as $key => $val) { $new_key = stripslashes($key); $new_val = strip_gpc_slashes($val); $output[$new_key] = $new_val; } } return $output; } // String ueberprufen und sicher machen fuer MySQL-Abfragen function make_safe($variable) { $variable = strip_gpc_slashes($variable); $variable = addslashes(trim($variable)); return $variable; }
participants (1)
-
Paul Rauch