Jump to content
  • 0

Подайте идею, как защитить видео


posthack
 Share

Question

Есть сервис с видео-материалами, доступ к которым предоставляется только если у человека есть пароль. То есть в списке он выбирает видео, вылезает окошко "Введите ваш пароль", и после ввода правильного пароля человек попадает на нужное видео.

 

Подскажите, как это лучше реализовать. То есть чтобы человек не мог кинуть ссылку на видео другу.

 

Сделать модальное окно, которое появляется только после ввода пароля, или может быть есть какой-нибудь способ получше и понадежнее.

 

PHP/JS.

 

И еще нужно защитить видео от скачивания (хотя бы от среднестатистического пользователя). Встраивание HTML5 видео-плеера будет достаточно?

Edited by posthack
Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0

Вообще никак. То есть можно заморочиться с одноразовыми ссылками и в каком-нибудь nginx их как-нибудь обрабатывать. Но стоит ли оно того? Если человек смотрит видео, то он его «скачивает» и смотрит на своём компьютере. Так что от скачивания не защититься вообще никак нельзя.

Link to comment
Share on other sites

  • 0

1. Защита от передачи ссылки на видео кому либо. Как вариант при каждом запросе видео высылать на сотовый телефон смс с кодом подтверждения который нужно ввести в браузере ))) Вряд ли кто-то захочет давать свой телефон друзьям или чтоб их постоянно дергали и просили сказать код который пришел по смс )))

2. От прямого скачивания еще может и можно защититься , к примеру написать свой плеер на флеше и передавать шифрованный поток, от большинства обычных скачивальщиков это защитит. Шифрованный контент они не смогут посмотреть даже скачав. А вот от не прямого скачивания защититься у вас скорее всего не выйдет. Записать видео с помощью программ для записи с экрана  вы не помешаете.

 

По поводу шифрования видеопотока во флеш у адоба насколько помню есть для этого средства.

  • Like 1
Link to comment
Share on other sites

  • 0

Да что тут сложного?

Сделать таблицу MySQL, в которой есть соответствия видео/пароль и при заходе человека на страницу просто через AJAX+PHP проверять Cookie на наличие в них пароля. Если есть, проверяем его и открываем видео через тот же AJAX. Если нет, то через JS открываем окно и при вводе в него пароля отсылаем его PHP через AJAX, там проверяем и при положительном результате ставим Cookie и открываем видео.

Само видео сделать доступным только по защищенному паролем FTP (не в public_html), а отправлять пользователю только через PHP.

Edited by iKNG
Link to comment
Share on other sites

  • 0

Да что тут сложного?

Сделать таблицу MySQL, в которой есть соответствия видео/пароль и при заходе человека на страницу просто через AJAX+PHP проверять Cookie на наличие в них пароля. Если есть, проверяем его и открываем видео через тот же AJAX. Если нет, то через JS открываем окно и при вводе в него пароля отсылаем его PHP через AJAX, там проверяем и при положительном результате ставим Cookie и открываем видео.

Само видео сделать доступным только по защищенному паролем FTP (не в public_html), а отправлять пользователю только через PHP.

очень многие пользователи знают что такое cookie и они не привязываются к клиенту их вполне могут передать и создать вручную в браузере ))) Защита от блондинок я бы сказал. Нужна привязка к конкретной учетной записи даже, а не машине. Человек может зайти в свой профиль откуда угодно. И никакие логины, пароли, куки не защитят от передачи доступа.

 

По сути тут нужно средство когда человек сам не захочет передавать права доступа к аккаунту. И эта проблема очень актуальна для интернет кинотеатров к примеру.

 

Можно конечно нагорбить систему токенов с привязкой к информации о клиенте. Разрешение монитора, юзерагент, ip и тд. И генерить ссылку доступа только для данного устройства и при каждом запросе пересылать токен доступа. Но и это можно обойти если знаешь как. Но как вариант может прокатить. Но тут возникнет проблема с доступом с разных устройств, а если у клиента 3 компа, планшет и телефон и он заплатив имеет право смотреть со всех устройств. Так что я этот способ сразу отмел.

Edited by wwt
Link to comment
Share on other sites

  • 0

 

Да что тут сложного?

Сделать таблицу MySQL, в которой есть соответствия видео/пароль и при заходе человека на страницу просто через AJAX+PHP проверять Cookie на наличие в них пароля. Если есть, проверяем его и открываем видео через тот же AJAX. Если нет, то через JS открываем окно и при вводе в него пароля отсылаем его PHP через AJAX, там проверяем и при положительном результате ставим Cookie и открываем видео.

Само видео сделать доступным только по защищенному паролем FTP (не в public_html), а отправлять пользователю только через PHP.

очень многие пользователи знают что такое cookie и они не привязываются к клиенту их вполне могут передать и создать вручную в браузере ))) Защита от блондинок я бы сказал. Нужна привязка к конкретной учетной записи даже, а не машине. Человек может зайти в свой профиль откуда угодно. И никакие логины, пароли, куки не защитят от передачи доступа.

 

Так в Cookie хранится будет только пароль.То есть при заходе на страницу он каждый раз будет проверяться. От подмены Cookie будет эффект как от простого введения этого же пароля в модальное окно.

Edited by iKNG
Link to comment
Share on other sites

  • 0

 

 

Да что тут сложного?

Сделать таблицу MySQL, в которой есть соответствия видео/пароль и при заходе человека на страницу просто через AJAX+PHP проверять Cookie на наличие в них пароля. Если есть, проверяем его и открываем видео через тот же AJAX. Если нет, то через JS открываем окно и при вводе в него пароля отсылаем его PHP через AJAX, там проверяем и при положительном результате ставим Cookie и открываем видео.

Само видео сделать доступным только по защищенному паролем FTP (не в public_html), а отправлять пользователю только через PHP.

очень многие пользователи знают что такое cookie и они не привязываются к клиенту их вполне могут передать и создать вручную в браузере ))) Защита от блондинок я бы сказал. Нужна привязка к конкретной учетной записи даже, а не машине. Человек может зайти в свой профиль откуда угодно. И никакие логины, пароли, куки не защитят от передачи доступа.

 

Так в Cookie хранится будет только пароль.То есть при заходе на страницу он каждый раз будет проверяться. От подмены Cookie будет эффект как от простого введения этого же пароля в модальное окно.

 

Вопрос стоял защитить не от кражи доступа, а от передачи его добровольно )) Один друг заплатил за кино а смотрит вся школа - вот от чего ТС хочет защититься )))

Link to comment
Share on other sites

  • 0

Так у него же про это не написано. Я думал, что "Не передавать ссылку другу" - в прямом смысле. Без пароля.

Можно в таком случае в таблицу добавить поле IP. В первый раз будет запоминаться, а потом только с него можно. Правда тогда для динамичных IP не очень удобно.

Можно привязать к сессии, но после закрытия браузера она исчезнет.

Можно разрешить смотреть только один раз.

А можно комбинировать Cookie, сессии и запоминание IP.

Link to comment
Share on other sites

  • 0

Если домохозяйке - далеко не каждой. Многие не знают, что такое браузер и называют его Интернетом и ищут Яндекс в Google. Что уж тут говорить про установку дополнений

Edited by iKNG
Link to comment
Share on other sites

  • 0

Так у него же про это не написано. Я думал, что "Не передавать ссылку другу" - в прямом смысле. Без пароля.

Можно в таком случае в таблицу добавить поле IP. В первый раз будет запоминаться, а потом только с него можно. Правда тогда для динамичных IP не очень удобно.

Можно привязать к сессии, но после закрытия браузера она исчезнет.

Можно разрешить смотреть только один раз.

А можно комбинировать Cookie, сессии и запоминание IP.

Привязка к сессии глупость. Идентификатор хранится в куках или передается в запросе, вытянуть его легко. Куки я уже написал что передать куки другому человеку не составит труда. IP вообще не вариант, опять же про школу. Обычно один район обслуживают одни и те же провайдеры, и вероятность того что пол района сидит под одним и тем же IP очень велика.

Я уже написал что возможность сформировать уникальный ключ вполне возможна, это различные данные о клиенте ip, разрешение монитора и тд на основе них можно сгенерировать хеш который будет довольно уникален, но не уникален )) Создать похожие условия на другом компьютере вполне возможно зная на каких именно данных он формируется. Но предположим пользователей не знает на каких тогда ключ будет настолько уникален на сколько это удовлетворительно. Но возникает проблема. У пользователя кроме стационара может быть планшет, смартфон и ноутбук и он хочет смотреть видео которое он оплатил на всех этих устройствах просто зайдя в свой аккаунт. И наша схема тут же перестает работать, ибо наш уникальный ключ будет работать только на стационаре. Это тупиковый способ который работал 10 лет назад когда очень популярны были чаты и по таким id банили в некоторых чатах ))

Edited by wwt
Link to comment
Share on other sites

  • 0

Про самое надежное уже написали - SMS или просмотр один раз.

А вообще, klerik прав, видео легко скачать в любом случае.

в случае шифрования потока далеко не легко )) придется потрошить плеер и не только )) Но возможна запись во время воспроизведения от нее не защититься. Просмотр 1 раз тоже не вариант, а если рубанули свет? потерял денежки? Не серьезно. Это не такая уж простая задача и подход к её решению должен быть очень даже серьезен.

Если подходить именно серьезно то шифрование потока+подтверждение по смс. Плюс до кучи добавить водяные знаки на видео, что если уж и скачают чтоб сразу было видно откуда.

Link to comment
Share on other sites

  • 0

А как ты уже защитися от ситуации, что он даст другу свой пароль? Если защитился от этого, то вот и ссылку на видео тем же образом защищиай. А если нет, то о каких ссылках разговор тогда, если можно завести один профиль на 10000 человек?

Давно ещё на башорге было предложение регистрировать на всех сайтах пользователя BashOrgRu с паролем Bash1234, чтобы все могли пользоваться, потмоу что многие сайты нужны действительно всего один раз, а там требуют нудную регистрацию.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy