Что делать с данными, приходящими от пользователя?

  • Автор темы Автор темы _RVK_
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
master_x
А никто и не говорит, что нужно применять htmlspecialchars перед вставкой в базу.
 
А никто и не говорит, что нужно применять htmlspecialchars перед вставкой в базу
Но многие это делают:
PHP:
$values['comment'] = htmlspecialchars(strip_tags(trim(substr($_POST['comment'], 0, 2000))), ENT_QUOTES);
Как пример :)
 
_RVK_
ИМХО это очень неправильно. Хотя смотря где, если это общедоступный блог и html в комментах запрещен... то можно и применять htmlspecialchars... однако как мне кажется лучше просто предупредить пользователя, что этого делать нельзя, т.е. проверить поступающие данные.
 
> Но многие это делают
И какой смысл в это вкладывают?
А вообще - не надо вестись за многими - надо думать своей головой и исходить из целесообразности применительно к решаемой задаче.

> если это общедоступный блог и html в комментах запрещен... то можно и применять htmlspecialchars
Но почему при вводе, а не при выводе?
 
SiMM
Я спрашиваю совета не для себя. Я то уверен что обрабатывать данные нужно при выводе. Но не для всех, к сожалению, это ясно. Эта тема создана для того, что бы прояснить ситуацию, и выработать правильное мнение.
 
_RVK_, ну я собственно спрашиваю, чем это аргументируется теми, кто так делает. И это необязательно ты :) Собственно второй мой вопрос именно поэтому и прозвучал.
 
SiMM
Но почему при вводе, а не при выводе?
там была вторая часть высказывания и я сказал, что так делать нельзя и лучше делать по-другому. Т.е.нельзя использовать htmlspecialchars при вводе а лучше-
однако как мне кажется лучше просто предупредить пользователя, что этого делать нельзя, т.е. проверить поступающие данные.
 
SiMM
Аргумент что так мы 1 раз преобразовываем, а так придется каждый раз/
 
Чтото прочитал топик, но так и не понял: какова цель делать несколько раз одно и тоже, когда это можно сделать один раз?
Ктото считает, что существуют "универсальные данные"?
В чем суть?
 
Screjet
при этом получится, что ты положишь в базу не первоисточник а данные, которые ТЫ ИЗМЕНИЛ и будешь хранить ИЗМЕНЕННЫЕ данные, которые, быть может ты сможешь восстановить до первоначального значения а может и нет.
 
master_x
>данные, которые, быть может ты сможешь восстановить до первоначального значения а может и нет.

А оно в самом деле *всегда* надо? По-моему скорость обработки для web-приложений может оказаться важнее.
 
Screjet
А я не могу понять, зачем сначала сохранять данные, обработав их, а птом выводить их, снова преобразую к первоначальному виду?

-~{}~ 15.12.05 16:44:

>По-моему скорость обработки для web-приложений может оказаться важнее
svetasmirnova

Мне интересен вариант, когда приложение настолько хорошо и быстро работает, что единственным узким местом остается htmlspecialchars

Что правда такое бывает?

-~{}~ 15.12.05 16:46:

Думаю термин "всегда" нужно заменить на "по умолчанию". Ситуации правда разные бывают, но слижком уж они фантастические (и скорость далеко не на первом месте), что бы постоянно на них ссылаться.
 
Итак, кто выскажется против хрнения достоверной инфы в БД? Агрументировано, а не "я так хачу". Если довод в скорости, привидите пример когда это критично.
 
master_x
Есть способы для предотвращения обратного преобразования, но это из темы про безопастность :)

_RVK_
Выводить куда? для правки?
(чессно, еще не видел приложений, где правка данных происходит чаще, чем их отображение/вывод:))
 
_RVK_
По умолчанию экономлю процессор, он не такой резиновый как память или жесткий диск. Задач на экономию памяти/диска еще не попадалось. :)
 
>Задач на экономию памяти/диска еще не попадалось

А по экономии процессора попадались? Расскажи плиз.
 
Автор оригинала: _RVK_
>Задач на экономию памяти/диска еще не попадалось

А по экономии процессора попадались? Расскажи плиз.
Сплошь и рядом. Когда уже нечего оптимизировать, или не хватает знаний по оптимизации. -> Начинаешь придираться к мелочам.
Сам попробуй открыть 1000+ одинаковых страниц одновременно на сервере с парсингом текста из базы и просто выводом уже пропарсенного текста. Посмотри процессорную загрузку и время, которое ушло на это дело. Разница будет заметна на глаз.

-~{}~ 15.12.05 17:39:

Автор оригинала: Screjet
_RVK_
По умолчанию экономлю процессор, он не такой резиновый как память или жесткий диск. Задач на экономию памяти/диска еще не попадалось. :)
Память тоже не резиновая, и ее тоже надо экономить, иначе медленный свап.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху