mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 09:55:03 +00:00
1.2 KiB
1.2 KiB
1. Зависимость и фильтр
- 1.1
pip install Markdownв .venv, добавить в requirements.txt - 1.2 Добавить Jinja2-фильтр
markdownвweb/app.py(экранирование HTML + nl2br + sane_lists) - 1.3 Проверка:
python -c "from web.app import tpl; print(tpl.filters['markdown']('**b**'))"— фильтр есть
2. Шаблоны
- 2.1
candidates.html: заменить{{ (p.text or '')[:500] }}на{{ (p.text or '')[:2000] | markdown }} - 2.2 Проверить
published.html/metrics.html— применить фильтр к тексту/анонсам при наличии - 2.3 Проверка: пост с
**жирный**и ссылкой отображается разметкой, а не сырым md
3. Безопасность и регресс
- 3.1 Тест XSS:
<script>в тексте поста не исполняется (отображается как текст) - 3.2 Тест регресса: список кандидатов и published рендерятся без ошибок
- 3.3
grep -rn "p.text\|\.text" web/templates/— все места обработаны