Re: cvs: php-src(PHP_5_2) / NEWS /ext/mysql php_mysql.c php_mysql.h

From: Date: Mon, 14 May 2007 17:54:17 +0000
Subject: Re: cvs: php-src(PHP_5_2) / NEWS /ext/mysql php_mysql.c php_mysql.h
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-29418@lists.php.net to get a copy of this message
It's similar to SET NAMES but isn't identical, the SQL statement can't update the internal character encoding on the client. This causes mysql_real_escape_string to perform incorrectly and can lead to data being incorrectly escaped. This in turn can lead to SQL Injections when you change from a single byte character set (latin1) which is the default to a multibyte character set. In regards to ext/mysql and ext/mysqli, most hosts don't know the difference and only enable ext/mysql, instead allow users to protect themselves or deprecate ext/mysql. Scott Antony Dovgal wrote: > I believe this should be reverted. > > Adding new functions to ext/mysqli is _completely_ pointless, especially > taking into account that this function is just an alias for "SET NAMES > xx" and already implemented int MySQLi. > > ext/mysql and ext/mysqli is like PHP4 and PHP5 - we can't keep adding > new functions to ext/mysql, cause eventually it'll become ext/mysqli. > > On 05/14/2007 09:30 PM, Scott MacVicar wrote: >> Was discussed last summer and again in January this year, I forgot about >> it for 5.2.2 until recently. >> >> http://news.php.net/php.internals/27634 >> >> http://news.php.net/php.internals/27638 >> >> Spoke to ilia on IRC on Friday and his only comment was to use the new >> param parsing API. >> >> Scott >> >> Antony Dovgal wrote: >>> On 05/14/2007 09:10 PM, Scott MacVicar wrote: >>>> scottmac Mon May 14 17:10:47 2007 UTC >>>> >>>> Modified files: (Branch: PHP_5_2) >>>> /php-src NEWS /php-src/ext/mysql php_mysql.c php_mysql.h >>>> Log: >>>> Add mysql_set_charset() so that the connection encoding can be >>>> changed. This is similar to the SET NAMES statement but allows the >>>> mysql_real_escape_string to use the correct character set. >>> >>> When and where was this discussed? >>> >> >> > >

« previous php.internals (#29418) next »