[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Хранение html в базе
Страницы: 1, 2
Michael
Привет.
Как вы смотрите на момент хранения уже обработанного и готового к выводу (без доп. обработки) html-а в базе?
Так ли на него полностью полагаться или все таки иметь доп. вариант с тем если этот код окажется скомпрометирован, то чтобы его можно было безопасно переформатировать из исходника?

Например:
- Создаю я статью на сайте
- Мне надо отдельно создать ему тизер с готовым html-ом
- Я могу:
1) сразу же при добавлении/изменении Статьи дергать таблицу тизеров и в нее кидать готовый хтмл тизера. Но тут получится мало ли если какой взлом и подсунут куда то в таблицу тизеров зловредный код, то его неудобно искать. Нельзя тут получается просто удалить столбец с тизерами.
2) можно построить так чтобы тизер строился на лету, т.е. если есть запрос на вывод тизера этой статьи и ничего нет в ячейке, то запросить статью чтобы она сформировала тизер и после этого его сохранить и вывести. Получится тут, если вдруг что случится, то легко можно удалить весь столбец с html-ом.

Что думаете, как предпочитаете?
Смотрю в modx этой фобией сильно не заморачиваются, хранят шаблон страницы в базе, но то шаблон, их не много, легко если что найти проблему.



_____________
There never was a struggle in the soul of a good man that was not hard
kaww
Michael. В modx'е насколько мне известно в бд хранятся именно шаблоны страниц (то еще извращение). Ты же по сути решаешь проблему кэширования. Т.е. хочешь отрендерить тизер, положить в какое-то быстрое хранилище и затем его брать уже от туда. Среди прочих вариантов в качестве этого хранилища может выступать бд (тип memory если это mysql).
Цитата (Michael @ 15.06.2015 - 11:47)
если какой взлом и подсунут куда то в таблицу тизеров зловредный код

В таком случае "зловредный код" будет наименьшей из твоих проблем, которую можно решить сбросом кэша wink.gif
Zzepish
Имхо: у тебя рухнет база, нсли много будет запромов.
не лучше ли хранить в файлах?
Valick
Цитата (Michael @ 15.06.2015 - 14:47)
если какой взлом и подсунут куда то в таблицу тизеров зловредный код, то его неудобно искать

Зачем его искать? Его надо "ловить", а точнее обезвреживать на "выходе" (при выводе в браузер). Лежащий на уровне информации зловред всего лишь информация.

_____________
Стимулятор ~yoomoney - 41001303250491
Michael
Цитата (Zzepish @ 15.06.2015 - 14:51)
Имхо: у тебя рухнет база, нсли много будет запромов.
не лучше ли хранить в файлах?

один запрос к таблице тизеров, чему там рухать?...

_____________
There never was a struggle in the soul of a good man that was not hard
Michael
Цитата (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
Michael
один? а если пользователей миллион? или 10к+ запросов\секунду, например
Valick
Цитата (Michael @ 15.06.2015 - 18:47)
Не буду же я каждый раз при выдаче парсить в статьях всякие форматы типа как bb кода и подобное.

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

_____________
Стимулятор ~yoomoney - 41001303250491
sergeiss
Цитата (Zzepish @ 15.06.2015 - 16:51)
Имхо: у тебя рухнет база, нсли много будет запромов.
не лучше ли хранить в файлах?

Принципиальной разницы не будет. Потому что при каждом запросе, если использовать файлы, надо все равно запросить БД, чтобы знать, в каком файле лежат данные. Затем открыть этот файл и отдать данные из него.
Цитата (Zzepish @ 15.06.2015 - 20:53)
или 10к+ запросов\секунду, например

ПХП и ОС смогут открыть, прочитать и отдать 10к+ файлов за секунду? В ОС, вобщем-то, есть ограничение на количество одновременно открытых файлов. И оно не такое и большое, на самом деле. У меня есть подозрение, что 10к+ запросов в секунду не получится сделать на файлах именно по этой причине.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Invis1ble
sergeiss
не спорь с миддлом

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

sergeiss
Цитата (Michael @ 15.06.2015 - 19:47)
Не буду же я каждый раз при выдаче парсить в статьях всякие форматы типа как bb кода и подобное.

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

Цитата (Invis1ble @ 16.06.2015 - 00:17)
не спорь с миддлом

Понял, молчу smile.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
waldicom
Цитата (Invis1ble @ 15.06.2015 - 21:17)
не спорь с миддлом

Человек учитася в двух вузах. Какой мидл. Сеньёрный мастер!
По теме: сгенерированные темплейты хранить в кеше или key value storage (например редис).

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Zzepish
sergeiss
может быть. Но, как показывает практика, начинает ломаться mysql, при большом количестве запросов в секунду!
Invis1ble
идиот :/
Invis1ble
Zzepish
это после миддла дают?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Zzepish
это я тебе говорю, что ты- идиот!


 ! 

М
Вот не нать этого, не нать...
waldicom
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.