Покинул форум
Сообщений всего: 338
Дата рег-ции: Сент. 2012 Откуда: Гродно, Беларусь
Помог: 0 раз(а)
Добрый день форумчане!!! Хотел бы получить небольшую консультацию вот в каком вопросе.
Есть форма с большим количеством полей. Данные, переданные в обработчик, не напрямую вносятся в БД, а из них составляется определенный текстовый блок :
Вопрос: стоит ли экранировать с помощью mysql_real_escape_string каждый элемент в отдельности или можно применить экранирование к конечной строке, состоящей из элементов?
Спасибо за помощь
caballero
Отправлено: 31 Мая, 2013 - 12:48:57
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Покинул форум
Сообщений всего: 338
Дата рег-ции: Сент. 2012 Откуда: Гродно, Беларусь
Помог: 0 раз(а)
а достаточно ли применение mysqli_real_escape_string? Стоит ли еще применять htmlspecialchars?
EuGen
Отправлено: 31 Мая, 2013 - 13:35:18
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Стоит применять каждый фильтр в нужном месте и в нужное время. mysql_real_escape_string нужно для безопасных операций с пользовательскими данными в запросах. html-код при этом никак не мешает хранению данных. В свою очередь, html-код будет вредоносен при отображении данных, соответственно, при отображении и следует применять htmlspecialchars. Вероятно, иногда требуется преобразовывать html-сущности уже при внесении в БД, но это зависит от конкретной задачи, чаще всего - нет.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
alnik-75
Отправлено: 31 Мая, 2013 - 13:39:34
Посетитель
Покинул форум
Сообщений всего: 338
Дата рег-ции: Сент. 2012 Откуда: Гродно, Беларусь
Помог: 0 раз(а)
EuGen! В моем случае информация, внесенная в БД, в дальнейшем будет оттуда извлекаться и выдаваться пользователя. В любом случае необходимо возможный код переделать в сущности. Я это делаю при внесении в БД. Отличается ли эта операция от того , что преобразование в HTML сущности будет происходит при извлечении информации из БД?
EuGen
Отправлено: 31 Мая, 2013 - 13:58:00
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Если Вам когда-нибудь потребуется, например, разрешить некоторые теги - или выдавать текст как есть (например, в другой модуль приложения, не пользователю) - то преобразование сущностей html при внесении может сослужить плохую службу. Поэтому я бы рекомендовал хранить данные как есть, следя за ними должными способами в нужных местах.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
alnik-75
Отправлено: 31 Мая, 2013 - 14:02:37
Посетитель
Покинул форум
Сообщений всего: 338
Дата рег-ции: Сент. 2012 Откуда: Гродно, Беларусь
Помог: 0 раз(а)
EuGen пишет:
Если Вам когда-нибудь потребуется, например, разрешить некоторые теги - или выдавать текст как есть (например, в другой модуль приложения, не пользователю) - то преобразование сущностей html при внесении может сослужить плохую службу. Поэтому я бы рекомендовал хранить данные как есть, следя за ними должными способами в нужных местах.
Cпасибо за развернутый ответ.
В моем случае-это объявления, поэтому тут не должно быть каких-либо тэгов.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.