Re: Re: Recursion to sanitize user input
| From: | zooming at gamebox dot net | Date: | Fri, 08 Oct 2004 22:50:56 +0000 |
| Subject: | Re: Re: Recursion to sanitize user input | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-199031@lists.php.net to get a copy of this message | ||
Hi M
I don't understand. I don't think I'm storing it anywhere. I have it
looping through all the POST variables. If it's not an array then the
sanitize function returns a sanitized value. If it's an array then the
sanitize function calls itself again and again until it finds a single
variable and returns it as a sanitized value.
----- Original Message -----
From: "M. Sokolewicz" <tularis@php.net>
To: <php-general@lists.php.net>
Sent: Friday, October 08, 2004 6:19 PM
Subject: [PHP] Re: Recursion to sanitize user input
> Very simple :)
> when recursion happens, you return the sanitized value, but never store
> it ;)
>
> zooming@gamebox.net wrote:
>
> > I'm trying to sanitize my user input. My sanitize function does not
work if
> > I send a variable that's an array. I'm using recursion to go through
the
> > array. The example below shows that $_POST['city'] works but
$_POST['user']
> > doesn't work. The array comes back blank.
> >
> > Anyone see what's wrong with my code?
> >
> > OUTPUT:
> >
> > Array
> > (
> > [city] => New York
> > [user] =>
> > )
> >
> > CODE:
> >
> > <?php
> >
> > function sanitize($userInput = '')
> > {
> > if ( is_array($userInput) )
> > {
> > foreach ( $userInput as $key => $value )
> > {
> > sanitize( $value );
> > }
> > }
> > else
> > {
> > if ( get_magic_quotes_gpc() )
> > {
> > return trim( $userInput );
> > }
> > else
> > {
> > return trim( addslashes($userInput) );
> > }
> > }
> > }
> >
> > $_POST['city'] = 'New York';
> > $_POST['user']['firstName'] = 'Bob';
> > $_POST['user']['lastName'] = 'Smith';
> > $_POST['user']['country'] = 'USA';
> >
> > foreach ( $_POST as $key => $value )
> > {
> > $_POST[$key] = sanitize( $value );
> > }
> >
> > echo '<pre>';
> > echo print_r($_POST);
> > echo '</pre>';
> >
> > ?>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>