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

Статус
В этой теме нельзя размещать новые ответы.

_RVK_

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

SiMM

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

Мсье работал с такими большими объёмами информации и количеством запросов (нагрузка на сервер - более 1000 запросов в течении какого времени?), но никогда не слышал про кэширование? Довольно странно...
 

_RVK_

Новичок
>но никогда не слышал про кэширование

И самое странное что при этом, что у него самым узким местом был htmlspecialchars а не mysql, apache, php, os...
 

kvf77

Red Devil
SiMM
_RVK_
Я одного тока не пойму из всей этой дискуссии - вы ваще со словом Техническое задание знакомы? Пом не так как там написано так и делаю - развели дискуссию на пустом месте ни о чем просто.

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

master_x

Pitavale XXI wieku
kvf77
прочитай топик сначала, а то создается впечатление, что читать не умеешь
 

svetasmirnova

маленький монстрик
Вот ещё что меня радует в этой теме, так это то, что сторонниками всегда хранить данные as is рассматривается один единственный случай: запись в форуме aka гостевая книга aka блог. Это что, единственный случай, когда данные в базу записываются?
 

kSalex

Новичок
ну так расскажи другие случаи(хотя бы которые чаще встречаются) как ты обрабатываешь такие данные? Про телефоны мы уже слышали, что ещё? какая бизнес-логика в таких случаях ?
 

SiMM

Новичок
svetasmirnova, ну я так понял речь всё же шла о текстовых полях относительно произвольного формата, а не о специальных. А хранить, к примеру, явно числовые значения в текстовых полях - таки глупо, да.
 

_RVK_

Новичок
А еще хочу заметить что блоги и форумы это 90% всех редактируемых кем не попадя ресурсов. Для них-то этот вопрос самый критичный. А в CMS можно вообще ничего не резать ни при вводе ни при выводе, а часто наоборот ненужно.

-~{}~ 15.12.05 22:45:

Самое интересное что пока не слышно доводов от сторонников резать и обрабатывать данные. Кроме скорости. Хотя даже на мои вопрсы относительно скорости никто не ответил.

Прихожу к выводу что это заблуждение по инерции. Когда, то неправильно нучились, и теперь это заблуждение так закрепилось, что его очень сложно выбить.

Я не люблю мобильную технику самсунга(уж и сам не знаю почему). Сегодня покупал себе флеш-плеер, и самсунги даже не рассматривал. Просто игнорировал их и саму мусль о том, что эти плееры может и не так плохи, и я заблуждаюсь.

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

master_x

Pitavale XXI wieku
самое большое заблуждение, это то, что разработчики позволяют себе спокойно резать html теги в сообщениях пользователей перед занесениме в БД, применять к этим же данным htmlspecialchars и т.д. Это неправильно. Если юзер ввел html код там, где неположенно, то надо ему об этом сказать, предупредить его. Почему это так распространено в невебовых приложениях а в вебовых не очень... Кто-то скажет, что потом, при редактировании можно все преобразовать в исходный вид и показать пользователю. Но зачем усложнять себе жизнь? Зачем потом измененные данные прогонять через парсер, просто чтобы экспортировать в другой, сторонний формат? Легче забить в базу все как есть и в зависимости от ситуации выводить как надо, в нужном представлении. А вот в некоторых приложениях (CMS, как правильно сказал _RVK_) вообще не надо ничего резать. Надо просто умело распределять права (кому-то дать возможность публиковать plain-text кому-то html).
PS: в абсолютно любых приложениях надо, очень надо эскейпить данные, перед использованием в запросах к БД. Все остальные данные должны проверяться валидатором, на соответствие внутреннему формату (если в поле должны ввести телефон, то надо проверить, пришел телефон или матерное слово) и вслучае неуспешной проверки выводить КРАЙНЕ информативное сообщение пользователю (это не просто финтеклюшка а удобство интерфейса). Если данные прошли через валидатор- то они безопасны! Их только надо эскейпить при запросах к БД.
 

zarus

Хитрожопый макак
А что, скорость уже не является важным показателем работы "движка" сайта?
А давайте еще спорить, что лучше C++, Delphi или Basic. Кому что удобнее/понятнее/нужнее, тот тем и пользуется.
Тема похожа на "процедурный подход vs объектно-ориентированный подход при проектировании ИС". Сколько людей, столько и мнений.

2_RVK_
Если у Вас уже было свое мнение по теме, то зачем было спрашивать его у других? Чтобы доказать другим, что Ваше мнение правильное?

-~{}~ 16.12.05 11:23:

Автор оригинала: _RVK_
>но никогда не слышал про кэширование

И самое странное что при этом, что у него самым узким местом был htmlspecialchars а не mysql, apache, php, os...
Как я уже писал выше мои познания еще не доросли до кэширования. Когда будет свободное время, я надеюсь решить этот вопрос, так как PHP у меня сейчас скорее хобби, нежели работа.
 

zarus

Хитрожопый макак
Автор оригинала: _RVK_
zarus
Я не спрашиваю. Я узнаю мнение.
А с какой целью? Просто соцопрос? Тогда нужно просто сделать голосование с 2 вариантами. А если нужна еще и агрументация почему, то Вы слишком яро критикуете аргументацию для простого "узнаю мнение".
з.ы. :) чтобы не подумали, что я наезжаю ;)
 

_RVK_

Новичок
zarus

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

zarus

Хитрожопый макак
Потому что у меня нет аргументов, которые Вас переубедят. Я просто храню те данные, которые мне нужны, и в том формате, в каком они мне нужны. Меня не заботят задачи store as is, потому что у меня их по сути нет - нужно хранить as is, храню as is, нужно хранить обработанные - тоже храню. Храню и не заморачиваюсь. Вот и вся аргументация.
И вообще, это становится похоже на спор, "что лучше диски от БМВ на Запорожце, или спойлеры от Мерседеса на Оке"? Каждому свое.
Вот лучше бы обсудили проблему, как хранить сайт - полностью / частично, в БД / в текстах. И как организовать кэширование для различных случаев.
 

sage

Новичок
Лично я придерживаюсь той же точки зрения, что и ты, _RVK_, т.е. храню, как есть, а уже при выводе делаю htmlspecialchars и т.п.
zarus
нужно хранить as is, храню as is, нужно хранить обработанные - тоже храню
Как определяешь, как нужно?
 

zarus

Хитрожопый макак
Автор оригинала: sage
Как определяешь, как нужно?
При проектировании. Или уже в процессе непосредственного кодинга. Как писала svetasmirnova, если это предусмотрено бизнес-логикой.

з.ы. Мне не нравится, что всю функцию префильтрации сводят к использованию htmlspecialchars - ее я тоже использую при выводе. Но вот BB-коды я предпочитаю хранить в распарсенном виде. Потому что редактируются они в разы реже, чем просматриваются.
 

SiMM

Новичок
> Потому что редактируются они в разы реже, чем просматриваются.
А как насчёт того, что в этом случае для редактирования необходимо писать обратный перевод из того, что лежит в базе, в то, что ввёл пользователь? Стоит ли игра свеч? Опять же возвращаясь к тому, что это (вывод с парсингом) не самое узкое место - зачем усложнять самому себе жизнь надуманными задачами?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху