Безопасна ли python-markdown для ненадежного ввода? - PullRequest
10 голосов
/ 07 декабря 2011

Python-Markdown включает в себя такие функции, как экранирование необработанного HTML, которые, очевидно, предназначены для обеспечения его безопасности при ненадежном вводе, и, вообще говоря, Markdown обычно используется для визуализации пользовательского ввода, например, здесь, в SO.

Но действительно ли эта реализация заслуживает доверия?Кто-нибудь здесь изучал его, чтобы решить, безопасно ли работать на произвольном вводе?

Я вижу, например, Уценка в Django XSS safe и Защищенная библиотека Python Markdown , но«безопасный» режим действительно безопасный?

1 Ответ

5 голосов
/ 07 мая 2012

Библиотека Python Markdown, насколько вам известно, безопасна, , если вы правильно ее используете . См. Ссылку для получения подробной информации о том, как использовать его безопасно, но короткая версия: важно использовать последнюю версию, установить safe_mode и установить enable_attributes=False.

Обновление: safe_mode устарело из-за проблем с безопасностью. См. https://github.com/Python-Markdown/markdown/commit/7db56daedf8a6006222f55eeeab748e7789fba89. Вместо этого используйте отдельное дезинфицирующее средство HTML, такое как HTML Purifier.

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