Как запретить зрителям скачивать видео на flask и как скрыть URL видео в исходном коде или проверять код - PullRequest
2 голосов
/ 25 апреля 2020

Я новичок в python. В настоящее время я создаю онлайн-сайт для изучения видео, такой как Udemy и Treehouse, используя Flask. Небольшая проблема заключается в том, что видео на сайте можно скачать, просмотрев или изучив исходный код. Браузеры с расширением загрузки видео (firefox, Chrome et c) могут легко загружать видео при загрузке страницы видео. Коды HTML и python показаны ниже

<video id="videoElementID" width="100%" oncontextmenu="return false;" controlsList="nodownload" controls>
  <source src="{{ videoclip }}" id="video" type="video/mp4">
</video>

@posts.route("/<int:post_id>/<int:chapters_id>/<int:video_id>", methods=['GET','POST'])
@login_required 
def view_videos(post_id, chapters_id, video_id):
    posts=Post.query.get_or_404(post_id)
    if posts.author != current_user:
        abort(403)
    chapters=C.query.get_or_404(chapters_id)
    videos=V.query.get_or_404(video_id)
    videoclip = url_for('static', filename='stylesheets/v_uploads/' + posts.author.username + '/' + posts.course_name + '/' + videos.video_file) 
    return render_template('video.html', title="view video: ", videoclip=videoclip, posts=posts, chapters = chapters, videos=videos)

Это то, что я хочу:

  1. , чтобы браузеры с расширением загрузки файлов не загружали видео на сайте
  2. чтобы скрыть URL видео из исходного кода, возможно, зашифровав путь или имя файла или само видео
  3. или более ...

Я пробовал .htaccess, но я думаю, что он работает только с PHP. Я пытался зашифровать код, но не смог сделать это успешно. Я проверил вопросы stackoverflow, но не удалось. Я знаю, что невозможно полностью остановить загрузку зрителей, но я просто хочу усложнить загрузку. Пожалуйста, мне действительно нужны вы, ребята, чтобы помочь мне. Спасибо

Ответы [ 2 ]

1 голос
/ 25 апреля 2020

Не думаю, что проблема связана со стороной flask, а со стороны внешнего интерфейса. Таким образом, вы можете проверить, возможно ли это через javascript. Я быстро изучил его и увидел вопрос ниже:

Я думаю, что вы столкнулись с проблемой, связанной с упомянутой в - Запретить HTML5 скачивание видео (щелчок правой кнопкой мыши сохранен)? эта статья.

0 голосов
/ 25 апреля 2020

У вас есть несколько вариантов, чтобы сделать это более сложным, в порядке сложности:

  1. Вы абсолютно можете использовать .htaccess (это функция веб-сервера - ничего общего с *) 1020 *) требовать, чтобы реферал был вашим сайтом. Не разрешайте доступ к видеофайлу, если реферер не содержит ваш сайт. ( Смотрите здесь, чтобы узнать, как это сделать в Apache или Nginx)
  2. Использовать технику холста , описанную здесь
  3. Прямая трансляция HTTP ( Например, с Nginx)
  4. Использовать CSRF-токены
...