|
|
|
| С сайта php.net:
Warning
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
This function became deprecated, do not use this function. Instead, use mysql_real_escape_string().
|
Почему функция была удалена в php 6, какая в ней уязвимость(если вообще)?
Задолбаюсь я ходить по скриптам и менять название функции :) | |
|
|
|
|
|
|
|
для: forma
(14.12.2009 в 14:11)
| | Удалена из-за некорректной работы (не учитывается кодировка обрабатываемого текста,
что может повлечь неверное экранирование, а значит - искажение данных и/или SQL-injection-уязвимость.
Проявляется в многобайтовых кодировках восточного региона) | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2009 в 14:23)
| | а если я использую кодировку UTF-8, но для русского текста, то всё нормлаьно или лучше таки реальный эскэйп? | |
|
|
|
|
|
|
|
для: Lelik
(14.12.2009 в 17:59)
| | Сейчас лучше всегда использовать mysql_real_escape_string(), поскольку mysql_escape_string() "has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 6.0.0".
Но для UTF-8 разницы никакой нет. | |
|
|
|
|
|
|
|
для: Lelik
(14.12.2009 в 17:59)
| | многобайтовые кодировки восточного региона - это не utf-8
В utf-8 различия в эскейпинге не проявляются независимо от языка.
К счастью, потому что сейчас дыр нет.
К сожалению, потому что это не вынуждает бросаться и менять функции в режиме ПирямЩаз!
А менять надо. Уберут когда - рухнет всё.
И менять надо осмотрительно.
У многих она вызывается еще до установления соединения с сервером. Что само по себе засада. | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2009 в 18:44)
| | >И менять надо осмотрительно.
>У многих она вызывается еще до установления соединения с сервером. Что само по себе засада.
это как? | |
|
|
|
|
|
|
|
для: Lelik
(14.12.2009 в 18:59)
| | как в том случае, когда экранирование всех входящих параметров без разбора выполняется в начале скрипта. А mysql_connect - позднее. | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2009 в 19:07)
| | ясно. спасибо. | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2009 в 18:44)
| | Короче, так и придется переходить на режим удаления магических кавычек и переносить экранирование кавычек ближе к SQL-запросу в фукнции-обертки. | |
|
|
|
|
|
|
|
для: cheops
(15.12.2009 в 12:04)
| | Либо вообще убрать экранирование. Применять интерфейсы с плэйсхолдерами и биндингом параметров. Подобные mysqli .
Всё ж таки обертками красиво формализуется не всё...
Ну и есть такая поганая штука, как синтаксис операции LIKE , выбивающаяся из ряда.
Там, чтобы честно заэкранировать всё необходимое, ужом вывернуться нужно. | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2009 в 12:30)
| | Да к mysqli тоже присматриваемся, даже попробовали в нескольких проектах... | |
|
|
|
|
|
|
|
для: cheops
(15.12.2009 в 12:46)
| | Вот там уж точно без оберток не обойтись... Столько всяких кю сказать приходится, притопов с прихлопами сделать, пока запрос выполнишь в стиле этого интерфейса, что первая мысль у меня была "Да зачем я только за этот impruved клиент схватился... так просто и хорошо было со старым..." | |
|
|
|
|
|
|
|
для: Trianon
(15.12.2009 в 12:55)
| | > Столько всяких кю сказать приходится, притопов с прихлопами сделать, пока запрос выполнишь в стиле этого интерфейса, что первая мысль у меня была "Да зачем я только за этот impruved клиент схватился... так просто и хорошо было со старым..."
Так может и не надо?
А если надо, то тогда почему именно? | |
|
|
|
|
|
|
|
для: Eugene77
(18.12.2009 в 20:24)
| | Это уж каждый для себя сам решает. | |
|
|
|
|
|
|
|
для: Trianon
(18.12.2009 в 20:41)
| | Для ученика важно мнение профи:
Какой материал важен для освоения, а какой малозначителен. | |
|
|
|
|
|
|
|
для: forma
(14.12.2009 в 14:11)
| | mysql_real_escape_string
[quote]Экранирует специальные символы учитывая кодировку текущего MySQL соединения. При попытке вызова при отсутствующем соединении, вызывает ошибку.[/quote] | |
|
|
|
|
|
|
|
для: ~AquaZ~
(14.12.2009 в 17:46)
| | Как твой пост отвечает на вопрос автора, с позволения сказать? | |
|
|
|