On Wed, May 30, 2007 9:55 pm, Jim Lucas wrote:
> Greg Donald wrote:
>> On 5/30/07, Richard Lynch <[EMAIL PROTECTED]> wrote:
>>> You want to use mysql_escape_string, and NOT addslashes and NOT
>>> Magic
>>> Quotes.
>>
>> function slashes( $var )
>> {
>>  if( is_array( $var ) )
>>  {
>>    return array_map( 'slashes', $var );
>>  }
>>  else
>>  {
>>    return mysql_real_escape_string( $var );
>>  }
>> }
>
> Say I wanted to use this on something other than $_GET, $_POST, &
> $_COOKIE?
>
> Would it not be better practice to do this the other way around?
>
> function slashes ( $var ) {
>     if ( is_scalar($var) ) {
>          return mysql_real_escape_string( $var );
>     } else {
>          return array_map( 'slashes', $var );
>     }
> }
>
> This way, even if someone passes something that is not an array, but
> still not processable by mysql_real_escape_string(), it won't foul up
> the processor.
>
>>
>> set_magic_quotes_runtime( 0 );
>>
>> if( get_magic_quotes_gpc() == 0 )
>> {
>>  $_GET = isset( $_GET )
>>    ? array_map( 'slashes', $_GET )
>>    : array();
>>
>>  $_POST = isset( $_POST )
>>    ? array_map( 'slashes', $_POST )
>>    : array();
>>
>>  $_COOKIE = isset( $_COOKIE )
>>    ? array_map( 'slashes', $_COOKIE )
>>    : array();
>> }

Well, if it's not a scalar, and it's not an array, and you call
array_map on it, things could get very ugly very fast...

I'm not sure what other datatypes you might try to pass in, that PHP
won't type-juggle to a string when it goes to
mysql_real_escape_string...

Exactly what "other" data are you planning on calling 'slashes' on?

-- 
Some people have a "gift" link here.
Know what I want?
I want you to buy a CD from some indie artist.
http://cdbaby.com/browse/from/lynch
Yeah, I get a buck. So?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to