Показать сообщение отдельно
  #24 (permalink)  
Старый 14.02.2011, 21:56
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от e1f
Экранирование реализовано средствами самого php, так?
ты ошибаешься. Ты, наверное, имел в виду get_magic_quotes_gpc() и addslashes/stripslashes

Сообщение от dmitriymar
в этиом варианте может исказить-поскольку применяются все символы и экранирование невозможно будет отличить от реально введённых пользователем данных
и тем не менее ему как-то удается
<?
mysql_connect('localhost', <login>, <passwd>) or die(mysql_error());
mysql_query('SET NAMES cp1251') or die(mysql_error());
mysql_select_db(<db>) or die(mysql_error());
mysql_query('DROP TABLE IF EXISTS t1') or die(mysql_error());
mysql_query('CREATE TABLE t1 (f1 TEXT CHARACTER SET cp1251)') or die(mysql_error());
$s = '';
for( $i=0; $i<256; $i++ )
    $s .= chr($i);
$_s = mysql_real_escape_string($s);
mysql_query("INSERT INTO t1 VALUES ('$_s')") or die(mysql_error());
$r = mysql_query('SELECT * FROM t1') or die(mysql_error());
$r = mysql_result($r, 0, 0);
if( $s != $r )
    die('mysql_real_escape_string sucks!!!');

Последний раз редактировалось x-yuri, 14.02.2011 в 22:04.
Ответить с цитированием