Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Внесение данных в БД
Форумы портала PHP.SU » » Вопросы новичков » Внесение данных в БД

Страниц (1): [1]
 

1. alnik-75 - 31 Мая, 2013 - 12:36:16 - перейти к сообщению
Добрый день форумчане!!! Хотел бы получить небольшую консультацию вот в каком вопросе.
Есть форма с большим количеством полей. Данные, переданные в обработчик, не напрямую вносятся в БД, а из них составляется определенный текстовый блок :
PHP:
скопировать код в буфер обмена
  1.  
  2. $_POST['name1'].",".$_POST['name2'].",".$_POST['name3'].",".$_POST['name4']
  3.  

Вопрос: стоит ли экранировать с помощью mysql_real_escape_string каждый элемент в отдельности или можно применить экранирование к конечной строке, состоящей из элементов?
Спасибо за помощь
2. caballero - 31 Мая, 2013 - 12:48:57 - перейти к сообщению
по моему без разницы - там символы обрабатываются
3. alnik-75 - 31 Мая, 2013 - 13:03:36 - перейти к сообщению
а достаточно ли применение mysqli_real_escape_string? Стоит ли еще применять htmlspecialchars?
4. EuGen - 31 Мая, 2013 - 13:35:18 - перейти к сообщению
Стоит применять каждый фильтр в нужном месте и в нужное время. mysql_real_escape_string нужно для безопасных операций с пользовательскими данными в запросах. html-код при этом никак не мешает хранению данных. В свою очередь, html-код будет вредоносен при отображении данных, соответственно, при отображении и следует применять htmlspecialchars. Вероятно, иногда требуется преобразовывать html-сущности уже при внесении в БД, но это зависит от конкретной задачи, чаще всего - нет.
5. alnik-75 - 31 Мая, 2013 - 13:39:34 - перейти к сообщению
EuGen! В моем случае информация, внесенная в БД, в дальнейшем будет оттуда извлекаться и выдаваться пользователя. В любом случае необходимо возможный код переделать в сущности. Я это делаю при внесении в БД. Отличается ли эта операция от того , что преобразование в HTML сущности будет происходит при извлечении информации из БД?
6. EuGen - 31 Мая, 2013 - 13:58:00 - перейти к сообщению
Если Вам когда-нибудь потребуется, например, разрешить некоторые теги - или выдавать текст как есть (например, в другой модуль приложения, не пользователю) - то преобразование сущностей html при внесении может сослужить плохую службу. Поэтому я бы рекомендовал хранить данные как есть, следя за ними должными способами в нужных местах.
7. alnik-75 - 31 Мая, 2013 - 14:02:37 - перейти к сообщению
EuGen пишет:
Если Вам когда-нибудь потребуется, например, разрешить некоторые теги - или выдавать текст как есть (например, в другой модуль приложения, не пользователю) - то преобразование сущностей html при внесении может сослужить плохую службу. Поэтому я бы рекомендовал хранить данные как есть, следя за ними должными способами в нужных местах.

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

 

Powered by ExBB FM 1.0 RC1