Michael
15.06.2015 - 15:47
Привет.
Как вы смотрите на момент хранения уже обработанного и готового к выводу (без доп. обработки) html-а в базе?
Так ли на него полностью полагаться или все таки иметь доп. вариант с тем если этот код окажется скомпрометирован, то чтобы его можно было безопасно переформатировать из исходника?
Например:
- Создаю я статью на сайте
- Мне надо отдельно создать ему тизер с готовым html-ом
- Я могу:
1) сразу же при добавлении/изменении Статьи дергать таблицу тизеров и в нее кидать готовый хтмл тизера. Но тут получится мало ли если какой взлом и подсунут куда то в таблицу тизеров зловредный код, то его неудобно искать. Нельзя тут получается просто удалить столбец с тизерами.
2) можно построить так чтобы тизер строился на лету, т.е. если есть запрос на вывод тизера этой статьи и ничего нет в ячейке, то запросить статью чтобы она сформировала тизер и после этого его сохранить и вывести. Получится тут, если вдруг что случится, то легко можно удалить весь столбец с html-ом.
Что думаете, как предпочитаете?
Смотрю в modx этой фобией сильно не заморачиваются, хранят шаблон страницы в базе, но то шаблон, их не много, легко если что найти проблему.
_____________
There never was a struggle in the soul of a good man that was not hard
Michael. В modx'е насколько мне известно в бд хранятся именно шаблоны страниц (то еще извращение). Ты же по сути решаешь проблему кэширования. Т.е. хочешь отрендерить тизер, положить в какое-то быстрое хранилище и затем его брать уже от туда. Среди прочих вариантов в качестве этого хранилища может выступать бд (тип memory если это mysql).
Цитата (Michael @ 15.06.2015 - 11:47) |
если какой взлом и подсунут куда то в таблицу тизеров зловредный код |
В таком случае "зловредный код" будет наименьшей из твоих проблем, которую можно решить сбросом кэша
Zzepish
15.06.2015 - 16:51
Имхо: у тебя рухнет база, нсли много будет запромов.
не лучше ли хранить в файлах?
Valick
15.06.2015 - 19:34
Цитата (Michael @ 15.06.2015 - 14:47) |
если какой взлом и подсунут куда то в таблицу тизеров зловредный код, то его неудобно искать |
Зачем его искать? Его надо "ловить", а точнее обезвреживать на "выходе" (при выводе в браузер). Лежащий на уровне информации зловред всего лишь информация.
_____________
Стимулятор ~yoomoney - 41001303250491
Michael
15.06.2015 - 19:36
Цитата (Zzepish @ 15.06.2015 - 14:51) |
Имхо: у тебя рухнет база, нсли много будет запромов. не лучше ли хранить в файлах? |
один запрос к таблице тизеров, чему там рухать?...
_____________
There never was a struggle in the soul of a good man that was not hard
Michael
15.06.2015 - 19:47
Цитата (Valick @ 15.06.2015 - 17:34) |
Цитата (Michael @ 15.06.2015 - 14:47) | если какой взлом и подсунут куда то в таблицу тизеров зловредный код, то его неудобно искать |
Зачем его искать? Его надо "ловить", а точнее обезвреживать на "выходе" (при выводе в браузер). Лежащий на уровне информации зловред всего лишь информация.
|
я храню необработанный текст, обрабатываю фильтрами, сохраняю обработанный и при запросе уже его вывожу.
Не буду же я каждый раз при выдаче парсить в статьях всякие форматы типа как bb кода и подобное.
_____________
There never was a struggle in the soul of a good man that was not hard
Zzepish
15.06.2015 - 20:53
Michael
один? а если пользователей миллион? или 10к+ запросов\секунду, например
Valick
15.06.2015 - 21:26
Цитата (Michael @ 15.06.2015 - 18:47) |
Не буду же я каждый раз при выдаче парсить в статьях всякие форматы типа как bb кода и подобное. |
Да я не против, просто можно хранить и оригинал, и обработанный текст. И использовать по назначению и тот и другой.
_____________
Стимулятор ~yoomoney - 41001303250491
sergeiss
16.06.2015 - 00:10
Цитата (Zzepish @ 15.06.2015 - 16:51) |
Имхо: у тебя рухнет база, нсли много будет запромов. не лучше ли хранить в файлах? |
Принципиальной разницы не будет. Потому что при каждом запросе, если использовать файлы, надо все равно запросить БД, чтобы знать, в каком файле лежат данные. Затем открыть этот файл и отдать данные из него.
Цитата (Zzepish @ 15.06.2015 - 20:53) |
или 10к+ запросов\секунду, например |
ПХП и ОС смогут открыть, прочитать и отдать 10к+ файлов за секунду? В ОС, вобщем-то, есть ограничение на количество одновременно открытых файлов. И оно не такое и большое, на самом деле. У меня есть подозрение, что 10к+ запросов в секунду не получится сделать на файлах именно по этой причине.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Invis1ble
16.06.2015 - 00:17
sergeiss
16.06.2015 - 00:21
Цитата (Michael @ 15.06.2015 - 19:47) |
Не буду же я каждый раз при выдаче парсить в статьях всякие форматы типа как bb кода и подобное. |
Может и не каждый раз, но тогда надо хранить и оригинал, и обработанные. Чтобы можно было оригинал редактировать, не подвергая предварительной обработке. Если, конечно, оригиналы надо будет когда-то редактировать.
Цитата (Invis1ble @ 16.06.2015 - 00:17) |
не спорь с миддлом |
Понял, молчу
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
waldicom
16.06.2015 - 00:24
Цитата (Invis1ble @ 15.06.2015 - 21:17) |
не спорь с миддлом
|
Человек учитася в двух вузах. Какой мидл. Сеньёрный мастер!
По теме: сгенерированные темплейты хранить в кеше или key value storage (например редис).
_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Zzepish
16.06.2015 - 00:25
sergeiss
может быть. Но, как показывает практика, начинает ломаться mysql, при большом количестве запросов в секунду!
Invis1ble
идиот :/
Invis1ble
16.06.2015 - 01:04
Zzepish
16.06.2015 - 01:11
это я тебе говорю, что ты- идиот!
! |
|
М |
| Вот не нать этого, не нать... |
waldicom |
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.