|
|
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
Привет Вот задался вопросом, какова общепринятая практика хранения контента веб-страницы. Суть вопроса в следующем. Есть разметка: Код: html 1. 2. 3. 4. 5. 6. Предполагается редактирование. Как хранить это в бд - полностью фрагмент вместе с тегами в поле? Или по абзацам разбивать и вставлять между тегами? Как хранить абзацы - отдельные строки в таблице где хранится статья или в виде какой-то дочерней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 23:17 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
Если требуется хранить одну и ту же статью на разных языках то есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 23:27 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
Мы храним "полностью фрагмент вместе с тегами в поле". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 08:06 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
rigorMortis, Если вы планируете поддерживать возможность редактирования данных, то хранение тэгов в базе может стать причиной XSS-уязвимости. А почему бы не хранить в базе текст, как обычный текст с символами переноса \n между абзацами и уже при формировании страницы разбивать на абзацы по символу переноса строки и применять замену спец-символов html? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 13:08 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
JeStone, откуда вдруг XSS? Не думаю, что они планируют выдавать права на редактирование контента своих страниц любому желающему :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 13:18 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
skyANA, Я думаю эти ребята, писавшие новость об XSS-injection через DNS-name, тоже не давали права на редактирования новостей любому желающему. http://pcnews.ru/blogs/ispolzuem_dns_ne_po_naznaceniu-567005.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 13:25 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
JeStoneskyANA, Я думаю эти ребята, писавшие новость об XSS-injection через DNS-name, тоже не давали права на редактирования новостей любому желающему. http://pcnews.ru/blogs/ispolzuem_dns_ne_po_naznaceniu-567005.html Если честно, то я не понял Вашего примера. XSS в комментариях блога и редактирование контента всей страницы - это несколько разные вещи. Вы можете привести пример того, как при редактировании конвента своего сайта, администратор сайта получит XSS-атаку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 13:41 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
skyANA, А где у ТС написано, что редактировать информацию будет сам администратор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 13:46 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
JeStone, нигде не написано, но я не думаю, что по редактированием статьи понимается "заходи, кто хочет, пиши статью о чем хочешь" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 13:53 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
JeStone, в простом случае возможно. Но тегов может быть больше: картинки, спаны всякие. Тогда надо их менять на какие-то символы перед сохранением, а при загрузке страницы парсить, как-то неудобно. Если теги хранить опасно может держать размеченную страницу в rar-архиве в blob? Логично возникает вопрос производительности. Заметно ли скажутся издержки распаковки при запросе страницы браузером? На примере заглавной страницы этого новостного сайта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 19:14 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
rigorMortisJeStone, в простом случае возможно. Но тегов может быть больше: картинки, спаны всякие. Тогда надо их менять на какие-то символы перед сохранением, а при загрузке страницы парсить, как-то неудобно. BB-Codes и replace по регулярке (чтобы исключить замену открывающего кода без закрывающего). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 19:23 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
JeStone BB-Codes и replace по регулярке (чтобы исключить замену открывающего кода без закрывающего). Что-то не понял, какие могут быть проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 19:59 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
rigorMortisJeStone BB-Codes и replace по регулярке (чтобы исключить замену открывающего кода без закрывающего). Что-то не понял, какие могут быть проблемы? Проблемы с чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 20:06 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
JeStone, ты пишешь "чтобы исключить замену открывающего кода без закрывающего" - как это может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 20:14 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
rigorMortis, вот тут BB-код заменился на жирный, потому что указаны и открывающий и закрывающий этот текст не жирный [b]вот тут BB-код не заменился, т.к. закрывающий код не был найден[/b этот текст был бы жирным, если бы открывающий BB-код заменился на <b> в данной строке, несмотря на ошибку в закрывающем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 20:18 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
Если текст встраивается в верстку (а он таки встраивается) я бы обратил внимание на Markdown. Всеже нечто более строгое и современное чем ВВ-код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 21:32 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
rigorMortis, посмотрите например Confluence и забейте на BB-код :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2014, 09:18 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
skyANA, да, вв код не вариант. Вобщем я сделал так-если залогиниться по админом то на странице внизу появляется ckeditor (он у меня был) с содержанием страницы и её можно редактировать. Храню в бд (encoded html). Это не новостной сайт, контент редактироваться будет редко, новые страницы ещё реже. Так что думаю нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2014, 18:34 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
rigorMortisХраню в бд (encoded html).А смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2014, 14:21 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
skyANA, а какие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2014, 15:36 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
rigorMortisskyANA, а какие варианты?Хранить как есть :) В чём смысл хранить encoded? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2014, 16:40 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
skyANA, дык asp.net ругается если html пытаться сохранить как есть. Приходится енкодить. А при отображении декодить. Ckeditor ведь html выдаёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2014, 17:06 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
rigorMortisskyANA, дык asp.net ругается если html пытаться сохранить как есть.Да ну? В какой момент? Как ругается? У меня не ругается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2014, 17:13 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
skyANA, при нажатии отправке POST нажатием на submit: A potentially dangerous Request.Form value was detected from the client (ckeditor="...-то текст.<br /><br /> &nbs..."). Мне пришлось включить ему опцию htmlEncodeOutput: true. Тогда при выгрузке содержимого из бд на страницу приходится декодить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2014, 22:25 |
|
||
|
Как хранить контент веб-страницы.
|
|||
|---|---|---|---|
|
#18+
rigorMortisskyANA, при нажатии отправке POST нажатием на submit: A potentially dangerous Request.Form value was detected from the client (ckeditor="...-то текст.<br /><br /> &nbs..."). Мне пришлось включить ему опцию htmlEncodeOutput: true. Тогда при выгрузке содержимого из бд на страницу приходится декодить.Понятно. Делали бы Decode перед сохранением в БД, а не при выгрузке. 1. Вы же сами пишете, что "контент редактироваться будет редко, новые страницы ещё реже". Логичнее редко выполнить Decode при редактировании, чем 100500 раз при чтении. 2. Когда-нибудь обязательно понадобиться посмотреть, что там в БД, поправить не через сайт. И тот, кому это понадобится, фиг разберётся с тем, что хранится в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2014, 10:50 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38826956&tid=1446418]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
201ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
80ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 567ms |

| 0 / 0 |
