Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Надо ли использовать mysql_escape_string перед записью сериализованного массива?
 
 автор: Eugene77   (02.06.2012 в 07:17)   письмо автору
 
 

Надо ли использовать mysql_escape_string перед записью сериализованного массива?

  Ответить  
 
 автор: Eugene77   (02.06.2012 в 07:28)   письмо автору
 
   для: Eugene77   (02.06.2012 в 07:17)
 

Сам же отвечу - надо.

  Ответить  
 
 автор: cheops   (02.06.2012 в 10:39)   письмо автору
 
   для: Eugene77   (02.06.2012 в 07:17)
 

mysql_escape_string() или какой-то эквивалент нужно использовать всегда, когда вы записываете строки, даже если в них пока нет кавычек. Другое дело, что некоторые строки заранее экранированы режимом магических кавычек и нужно следить, чтобы не произвести экранирование повторно.

  Ответить  
 
 автор: Eugene77   (03.06.2012 в 09:35)   письмо автору
 
   для: cheops   (02.06.2012 в 10:39)
 

У меня так и получается, что по несколько раз экранирую.
Надо класс что-ли какой-то придумать, чтобы повторного экранирования недопускал.
Но пока воображения не хватает...

  Ответить  
 
 автор: cheops   (03.06.2012 в 10:19)   письмо автору
 
   для: Eugene77   (03.06.2012 в 09:35)
 

Лучше всего убирать экранирование, даже если его навел режим магических кавычек, а экранировать уже непосредственно перед выполнением SQL-запроса - это самый надежный способ избежать повторного экранирования.

  Ответить  
 
 автор: Eugene77   (04.06.2012 в 15:02)   письмо автору
 
   для: cheops   (03.06.2012 в 10:19)
 

>Лучше всего убирать экранирование, даже если его навел режим магических кавычек, а экранировать уже непосредственно перед выполнением SQL-запроса - это самый надежный способ избежать повторного экранирования.
Так получается больше кода. Одна функция обрабатывает полученную строку, другая, обрабатывает её же перед записью в базу.
А хочется сделать короче - всё в одной функции.

  Ответить  
 
 автор: cheops   (05.06.2012 в 12:41)   письмо автору
 
   для: Eugene77   (04.06.2012 в 15:02)
 

Кода получается больше, но он надежнее. Понятно, что такой подход хорошо применять в новом проекте, применить его в уже существующем довольно затруднительно.

  Ответить  
 
 автор: SnooPI   (02.06.2012 в 14:19)   письмо автору
 
   для: Eugene77   (02.06.2012 в 07:17)
 

Использовать надо mysql_real_escape_string

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования