Python / Django: Как отобразить фрагменты кода пользовательских видео в виде встроенных видео? - PullRequest
3 голосов
/ 31 августа 2011

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

Например, YouTube предоставляет код для встраивания видео, например:

<iframe width="420" height="345" src="http://www.youtube.com/embed/Rr6PWlOgPrs" frameborder="0" allowfullscreen></iframe>

Если пользователь помещает вышеуказанный фрагмент кода в комментарий, как мне правильно его отобразить?

Django автоматически экранирует все теги HTML, поэтому по умолчанию вышеуказанный код не будет работать.Но если я отключу авто-экранирование, то открою массу угроз безопасности.

Какой лучший способ справиться с этим?

Ответы [ 3 ]

3 голосов
/ 31 августа 2011

Пользователь никогда не должен иметь возможность вставлять HTML напрямую.Посмотрите на django-oembed .Таким образом, пользователю нужно будет только вставить URL-адрес, и oembed сопоставит его и автоматически переключит соответствующие URL-адреса с помощью кода вставки объекта.

1 голос
/ 01 декабря 2013

Попробуйте django-embed-video . Это довольно просто.

1 голос
/ 31 августа 2011

На моем сайте я делаю так, чтобы пользователи отправляли ссылку на видео YouTube.Нет вставки, просто ссылка.Затем я использую oEmbed API , чтобы попросить YouTube ввести HTML-код для данной ссылки.Если вы доверяете YouTube, вы можете использовать предоставленный вам HTML-код, не выходя из него.

Я занимаюсь этим уже 6 месяцев, и он действительно отлично работает.

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