Aksion написал 8 янв. 2021 г., 21:59
Про, подскажи пожалуйста, а можно из движка твоего "блога" взять как то только комментарии? в простом виде по ширине страницы с именем и временем (ну и редактированием). И анонимные тоже, чтобы прикрепить к любой статической странице? Желательно без базы данных, просто текстовый движок комментариев
Aksion написал 9 янв. 2021 г., 17:37
Спасибо! Да я видел этот ....но мне не понравилось, что там нет редактирования и оформления текста - вообще. (ну вот эти размер шрифта, цвет, по ширине, цитирование)....и т д...
А не знаешь, можно как то сделать, чтобы комментатор блога, мог оформлять комментарий не хуже чем сам автор статьи.
Просто есть такая группа научных блогов, где идет как бы конструктивный диалог, и порой комментарий может быть даже важнее и развернутее самой статьи. (это например такой раздел как этот - спроси меня, вопросы, или просто важная проблема дискус нескольких равноправных ученых), тот случай, когда комментарии надо оформлять не хуже инструментом, чем у самого топикстартера (картинки, формулы, таблицы). Даже не против, чтобы комментарий просто входил в тело статической страницы, как продолжение статьи основной. Я нашел движки блогов, где хорошие инструменты у самого автора.....(там всё есть для редактирования и оформления), но вот комментаторам.....никак.
Можно сделать типа HTML редактор и код прямо встраивался бы в конец основной страницы. Или создавалась бы новая страница, но шла при прокрутке сразу за первой, потом далее так же третья
По типу вот такого
https://be1.ru/html-redaktor-online/
или такого
https://htmled.it/redaktor/
А не знаешь, можно как то сделать, чтобы комментатор блога, мог оформлять комментарий не хуже чем сам автор статьи.
Просто есть такая группа научных блогов, где идет как бы конструктивный диалог, и порой комментарий может быть даже важнее и развернутее самой статьи. (это например такой раздел как этот - спроси меня, вопросы, или просто важная проблема дискус нескольких равноправных ученых), тот случай, когда комментарии надо оформлять не хуже инструментом, чем у самого топикстартера (картинки, формулы, таблицы). Даже не против, чтобы комментарий просто входил в тело статической страницы, как продолжение статьи основной. Я нашел движки блогов, где хорошие инструменты у самого автора.....(там всё есть для редактирования и оформления), но вот комментаторам.....никак.
Можно сделать типа HTML редактор и код прямо встраивался бы в конец основной страницы. Или создавалась бы новая страница, но шла при прокрутке сразу за первой, потом далее так же третья
По типу вот такого
https://be1.ru/html-redaktor-online/
или такого
https://htmled.it/redaktor/
4X_Pro написал 9 янв. 2021 г., 23:47
По идее, редактор можно прикрутить без особых проблем. Но придётся добавить в скрипт фильтрацию HTML-кода, чтобы защититься от XSS-атак, а это чуть сложнее, если разрешать теги с параметрами (например, img).
4X_Pro написал 11 янв. 2021 г., 12:48
Штука хорошая, но работает на языке Go. Соответственно, поставить можно только если у тебя VDS, а не обычный хостинг.
Aksion написал 12 янв. 2021 г., 23:22
защититься от XSS-атак,
а мне то чем вредны такие атаки? Может я не все прочитал...но они собирают как то кукис пользователей. так сейчас кажется каждый второй сайт собирает и явно пишет об этом. Разве нет?
Можешь сказать какие именно команды защититься от XSS-атак,
4X_Pro написал 12 янв. 2021 г., 23:55
Дело в том, что в норме cookies доступны только тому домену, для которого их установили. И там лежат данные, позволяющие сайту узнать пользователя. А XSS-атака — это когда cookies крадёт злоумышленник, и потом выдаёт себя за того пользователя, чьи cookies он украл (в худшем случае cookies админ сайта).
Чтобы защититься от атаки, нужно из сообщения вырезать все теги script, а также все события on*, которые могут быть прописаны для других тегов. Например, <a href="/" onclick="тут код, крадущий cookies">Ссылка</a>. Теги script удалить несложно, а вот со вторым — проблем гораздо больше (хотя бы в силу того, что разделителем перед onclick могут быть не только проблемы, самих событий — несколько десятков).
Ещё вариант — сначала удалять все html-теги теги с помощью PHP-функции strip_tags, а потом преобразовывать разрешенные из тегов (как это обычно делается на форумах, в частности этом), то есть заменять [b] на <b> и т.д.. Это более безопасно, но нужен визуальный редактор, который умеет с тегами работать.
Чтобы защититься от атаки, нужно из сообщения вырезать все теги script, а также все события on*, которые могут быть прописаны для других тегов. Например, <a href="/" onclick="тут код, крадущий cookies">Ссылка</a>. Теги script удалить несложно, а вот со вторым — проблем гораздо больше (хотя бы в силу того, что разделителем перед onclick могут быть не только проблемы, самих событий — несколько десятков).
Ещё вариант — сначала удалять все html-теги теги с помощью PHP-функции strip_tags, а потом преобразовывать разрешенные из тегов (как это обычно делается на форумах, в частности этом), то есть заменять [b] на <b> и т.д.. Это более безопасно, но нужен визуальный редактор, который умеет с тегами работать.
MadTechGuy написал 13 янв. 2021 г., 00:01
Aksion написал(а):
а мне то чем вредны такие атаки?
Если коротко и в общих чертах, то тем, что они позволяют злоумышленнику, как вариант, выполнить произвольный JS-код, в результате выполнения которого браузер жертвы сам отправит ID-сессии на сервер злоумышленника, позволив ему выполнять произвольные действия с аккаунта жертвы, начиная от публикации комментариев от имени этого аккаунта и вплоть до изменения пароля. Поэтому, если отправляемое пользователем сообщение впоследствии выводится в код страницы в неизменном виде, нужно предварительно удалять из него все HTML-атрибуты и теги, которые могут содержать JS-код, выполняющийся на стороне клиента. Кстати, есть возможность провернуть подобное даже с использованием CSS (см. пример: https://habr.com/ru/post/348210/). Для защиты от этого можно использовать такие библиотеки, как phpquery, но не исключаю, что есть решения получше, возможно даже какие-нибудь специализированные под эту задачу.
Aksion написал 14 янв. 2021 г., 01:33
Спасибо! Блин где тут вам лайки ставить. Но в целом я не понял чем мне вредить это будет....? у меня статичный сайт HTML.
Внизу форма для любого (как я выше показывал HTML редактор) . Мне надо сделать, чтобы люди могли ограниченным образом дописывать страницу, без возможности править ранее написанное. По типу такой бесконечной HTML страницы. Основной пост вообще чтобы не трогался.
Ну или основной пост это 1.html а остальные посты 1_1.html файл...но ка кто чтобы они склеивались при просмотре...т е когда читающий дочитал до конца 1.html ему сразу в склейку дальше шел 1_1.html и в конце форма редактора дописать (написать комментарий) имя там почта (но не критично) в целом анонимно хоть даже. Ну и капча небольшая цифровая от засорятелей.
Мой же кукис никто украсть не сможет ...мне пофиг.
Мне нужна как бы бесконечная 1_1.html страничка с возможностью дописывания всеми подряд, только что разделять горизонтальной чертой по ширине и время ставить как то каждого дополнения
Внизу форма для любого (как я выше показывал HTML редактор) . Мне надо сделать, чтобы люди могли ограниченным образом дописывать страницу, без возможности править ранее написанное. По типу такой бесконечной HTML страницы. Основной пост вообще чтобы не трогался.
Ну или основной пост это 1.html а остальные посты 1_1.html файл...но ка кто чтобы они склеивались при просмотре...т е когда читающий дочитал до конца 1.html ему сразу в склейку дальше шел 1_1.html и в конце форма редактора дописать (написать комментарий) имя там почта (но не критично) в целом анонимно хоть даже. Ну и капча небольшая цифровая от засорятелей.
Мой же кукис никто украсть не сможет ...мне пофиг.
Мне нужна как бы бесконечная 1_1.html страничка с возможностью дописывания всеми подряд, только что разделять горизонтальной чертой по ширине и время ставить как то каждого дополнения
А для твоих целей подойдёт такая штука как eComment. Он реально легкий, работает без базы и делался именно как встраиваемая система. Собственно, когда я его нашёл, он мне так понравился, что решил даже не писать свою аналогичную систему, хотя изначально такой план был.