Как защитить сайт от скачивания программами

Вы создаёте курс, тратите на него десятки часов и приличные суммы, а кто-то просто берёт и смотрит его бесплатно. А ещё хуже — крадёт и перепродаёт.

Прежде чем говорить о защите контента от копирования, стоит разобраться — от кого мы хотим защищаться. Обычно в онлайн-образовании грабят пираты и подворовывают простые пользователи. В зависимости от этого и способы защиты разные.

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

Победить пиратов — задача посильная только самым отважным и… Честно говоря, задача победить пиратов полностью просто нереальная, что бы ни заявляли сервисы для обучения. По крайней мере, именно в случае с видео.

Но даже если мы не спасём нашу крепость от всех мародёров, давайте отобьём атаки хотя бы половины из них!

Защита видео от ленивых пользователей
Скачивают по ссылке в коде вручную или через популярный плагин

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

Защита сайта от копирования

С сайта по ссылке, вручную
Найти кусок кода с плеером, а там и ссылку на видеофайл. Нажали на неё и скачали.
С хостинга через популярные плагины
Плагины для скачивания с YouTube или Vimeo очень популярны и легко стягивают видео
В обоих случаях вас спасёт плеер с защитой от скачивания

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

Защита от целеустремлённых пользователей и начинающих пиратиков

Скачивают и записывают экран плагинами покруче
Скачивают через более продвинутые плагины

Плеер — это хорошо, но плагины всё время совершенствуются + появляются новые. Похоже на борьбу с компьютерными вирусами. У этого змея всегда вырастает сразу несколько голов. Сегодня вы защищены, завтра уже нет, через неделю или месяц снова защищены, и снова нет. Так бесконечно и утомительно.

А ресурсов у вас не столько же, сколько у парней из антивируса.

Спасёт сервис, который поддерживает шифрование

Чаще всего это протокол передачи потокового видео HLS с включенным AES-шифрованием. Скачать видео у злоумышленника получится, но это будет бесполезно, так как посмотреть его уже не выйдет, файл будет зашифрован и попросту не воспроизведётся.

Записывают экран
Эти ребята используют разные программы по захвату видео с экрана. От них есть два способа защиты.
1. Встроить уникальный водяной знак с идентификатором пользователя

Это делается с помощью специализированных сервисов видео-стриминга и стоит дополнительных денег, водяной знак «на лету» встраивается в плеер, и для этого требуется организовывать трансляцию для каждого пользователя. Неприятно, что водяной знак эстетически портит видео. Но что делать?

Читайте также:
Программа авто в ГТА Сан андреас

Как защитить сайт от копирования. Ну и как это копирование обходить.

На уровне платформы для курсов защита выглядит так: у каждого пользователя есть свой уникальный ID, который отображается поверх видео именно этого ученика. И если он записывает видео и выкладывает его куда-либо, то раскрывает себя. Если, конечно, ввёл реальные данные при регистрации.

Обычный пользователь, который купил у вас курс и оставил свои данные (прежде всего, телефон и банковскую карту), дважды подумает перед тем, как его своровать. Водяной знак будет смущать. Но, конечно, для личного пользования или друзей-знакомых можно показывать видео и с водяными знаками.

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

Источник: zenclass.ru

Защита сайта от тотального скачивания «под корень».

У многих на форуме видел проблему, когда качают сайты полностью, и оригинал вылетает из выдачи поисковиков, а если у мошеника хостинг абузо устойчив, так вообще не весело, копаясь нашел один прекрасный скриптик, как раз от таких проблем, комментарии прописаны. Очень неприятно, когда в интеренете появляются сайты, сделанные методом скачивания содержимого с твоего, долгими трудами созданного. Вот от таких непорядочных людей и помогает этот скрипт. Запись запрещающей строки в .htaccess осуществляется автоматически. Скрипт вставляется в каждую страницу сайта с помощью include. Описание настроек скрипта: // error_reporting(0) После установки и настройки скрипта комментарий снять. $limit // Максимально допустимое количество обращений к сайту с одного IP-адреса в минуту. $htaccess // Путь к файлу .htaccess $htstring // Комментарий к строке в файле .htaccess $dirfiles // Путь к папке с временными файлами $logfiles // Имена временных файлов $excludes // Массив исключений с именами хостов, которым «можно всё»

//error_reporting(0);
$address = $_SERVER[‘REMOTE_ADDR’];
$ref = $_SERVER[‘HTTP_REFERER’];
$url = urldecode($_SERVER[‘REQUEST_URI’]);
$limit = 20;
$timenow = time();
$browser = $_SERVER[‘HTTP_USER_AGENT’];
$htaccess = $_SERVER[‘DOCUMENT_ROOT’].»/.htaccess»;
$dirfiles = $_SERVER[‘DOCUMENT_ROOT’].»/antirip/logfiles/»;
$logfiles = «$dirfiles».$address;
$hostname = gethostbyaddr($address);
$datetime = date(«Y-m-d H:i:s»);
$ip1 = getenv(«HTTP_X_FORWARDED_FOR»);
$ip2 = getenv(«REMOTE_ADDR»);
$hostip1 = gethostbyaddr($ip1);
$hostip2 = gethostbyaddr($ip2);
if ($ip1 != $ip2) <
$htstring = NULL;
if (!empty($ip1)) <
preg_match_all(‘/[0-9].[0-9].[0-9].[0-9]/’, $ip1, $ip1);
$ip1 = array_unique($ip1[0]);
foreach ($ip1 as $v) <
$htstring.=»Deny from «.$v.» \\ Заблокирован Внутренний IP \\ $hostip1rn»;
>
>
if (!empty($ip2)) <
$htstring.=»Deny from «.$ip2.» \\ Заблокирован IP Proxy \\ $hostip2rn»;
>
> else <
$htstring = «Deny from «.$address.» \\ Заблокирован Внешний IP \\ $hostnamern»;
>
$excludes = array(
«yandex.ru»,
«rambler.ru»,
«googlebot.com»,
«webaltabot.com»,
«inktomisearch.com»,
«search.live.com»,
«deb.telenet.ru»,
«213.248.56.160»,
«81.19.77.184»
);

if ($opendir = opendir($dirfiles)) <
while (false !== ($log = readdir($opendir))) <
if ($log != «.» and $log != «..») <
$timelog = date(filemtime(«$dirfiles».»$log»));
if ($timelog < ($timenow — 60)) <
unlink(«$dirfiles».»$log»);
>
>
>
>

foreach ($excludes as $v) <
if (ereg($v, $hostname))
>

if (!file_exists($logfiles))
$write = «$datetime — $hostname
Browser: $browser
Referer: $ref
URL: $url
rn»;
if ($logfiles) <
if (is_writable($logfiles)) <
if (!$handle = fopen($logfiles, ‘a’))
if (fwrite($handle, $write) === FALSE)
fclose($handle);
>
>

if ((count(file($logfiles)) > $limit) and ($timelog > ($timenow — 60))) <
if ($htaccess) <
foreach (file($htaccess) as $h) <
if ($h === $htstring) <
exit;
>
>
if (is_writable($htaccess)) <
if (!$handle = fopen($htaccess, ‘a’))
if (fwrite($handle, $htstring) === FALSE)
fclose($handle);
>
>
>
?>

Читайте также:
Почему программа скайп не открывается на компьютере

Да, естественно, что если на сайте стоит сапа, надо разрешить доступ роботам, список прилагается. 217.107.36.73 217.107.36.132 81.177.144.46 87.242.74.101 80.251.136.38 93.191.15.77 Пробуйте, должно работать

Источник: searchengines.guru

Как защитить сайт от тотального скачивания.

Бывают такие случаи, когда владелец сайта не желает, или не может, отдавать свой сайт целиком своим посетителями. Приведем простой пример:

У вас есть сайт, на котором, вы публикуете обои для рабочего стола. Общий объем сайта — 500Mb, посещаемость 7 000 хостов в сутки, примерный трафик — 300Гб в месяц или 10 Гб в день.

Добавим к этим посетителям еще 20 человек, скачавших ваш сайт целиком. Получаем увеличение трафика на 10Гб или в два раза. Или другими словами 0.28% посетителей создали 50% трафика. Не совсем честно, особенно если вы оплачиваете трафик.

Способы защиты сайта от скачивания

1. Запрет по User Agent

User Agent — так называются данные, которые каждый броузер передает серверу. Эти данные могут содержать в себе такую информацию, как тип броузера, операционная система, список плагинов и многое другое.

Это наиболее простой, но наименее эффективный способ. Его преимущество в том, что ни кого лишнего вы не запретите, а недостаток в том, что практический каждый Download агент может маскироваться под стандартные браузеры.

if ( strpos ( $agent , «DISCo Pump» ) ||
strpos ( $agent , «Offline Explorer» ) ||
strpos ( $agent , «Teleport» ) ||
strpos ( $agent , «WebZIP» ) ||
strpos ( $agent , «WebCopier» ) ||
strpos ( $agent , «Wget» ) ||
strpos ( $agent , «FlashGet» ) ||
strpos ( $agent , «CIS TE» ) ||
strpos ( $agent , «DTS Agent» ) ||
strpos ( $agent , «WebReaper» ) ||
strpos ( $agent , «HTTrack» ) ||
strpos ( $agent , «Web Downloader» ) ) {
die ( «Access Denied» ) ;
}

2. Ограничение по количеству просмотренных страниц за определенный промежуток времени.

Тоже достаточно спорный метод. Но надо понимать, что нормальный человек не может просмотреть 60 страниц за 1 минуту. Но с другой стороны и Download агент может делать паузы между скачиванием страниц.

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

3. Запрет с помощью скрытой ссылки.

Наверное, один из самых правильных методов. Вы должны сделать скрытую ссылку на странице, по которой «живой» человек не перейдет, а Download агент и прочие роботы сделают это. IP адрес с которого производится просмотр скрытой страницы блокируется, скажем, на 3 минуты.

Главный недостаток — это то, что вы, таким образом, блокируете поисковых роботов. Бороться с этим можно двумя способами:

  • Проверять $HTTP_USER_AGENT. Для этого вам необходимо будет знать то, каким образом подписываются все поисковые роботы. Кроме того, при таком способе Download агент сможет замаскироваться под поискового робота. (см. пример 2)
  • Запрещать IP адрес можно не по факту загрузки скрытой страницы, а по факту загрузки картинки, установленной на скрытой странице. Поисковые роботы обычно не запрашивают изображения размещенные на страницах, а Download агенты обычно делают это.

Выводы.

Как видите, метода, который бы работал на сто процентов, нет, и вам придется что-то (или кого-то) приносить в жертву. Ниже приведен код PHP класса, который реализует защиту от скачивания, описанную в третьем методе.

Читайте также:
Установить программу питон на компьютер

Пример PHP класса

class Flooders {
var $filename ; /* Имя файла, в котором хранится список */
/* запрещенных IP адресов */

var $timeout ; /* Время, на которое производится бан IP */
/* адреса. По умолчанию — 600 (10 минут) */

var $log ; /* Имя лог-файла. */

var $AGENTS ; /* Массив — список разрешенных агентов */

/* */
/* Конструктор — в параметрах можно указать основные настройки */
/* */
/* $filename — имя файла, в котором хранится список */
/* забаненных адресов. */
/* $timeout — время, в секундах, на которое банится IP. */
/* */
/* Пример: $f=new Flooders(«ban.txt»,3600); */
/* */

function Flooders ( $filename = «flooders.txt» , $timeout = 600 ) {
$this -> filename = $filename ;
$this -> timeout = $timeout ;
$this -> AGENTS = Array ( ) ;
$this -> log = «» ;
}

/* */
/* Задает имя лог-файла. Если имя файла пустое, то лог-файл */
/* не испольщуется */
/* */

function SetLogFileName ( $filename ) {
$this -> log = $filename ;
}

/* */
/* Проверка IP адреса на нахождение в бан-листе. */
/* */
/* Если $http_errror==0, то возвращает true, если IP адрес */
/* забанен, и false, если IP адрес разрешен. */
/* */
/* Если $http_error==404 и IP адрес забанен, то выводится */
/* стандартная страница 404 сервера Apache */
/* */
/* Если $http_error==403 и IP адрес забанен, то выводится */
/* стандартная страница 403 сервера Apache */
/* */

function Check ( $http_error = 0 ) {
GLOBAL $HTTP_SERVER_VARS ;

$ip1 = $HTTP_SERVER_VARS [ «REMOTE_ADDR» ] ;
$ip2 = $HTTP_SERVER_VARS [ «HTTP_X_FORWARDED_FOR» ] ;
$ip1 = str_replace ( «:» , «_» , $ip1 ) ;
$ip2 = str_replace ( «:» , «_» , $ip2 ) ;

$found = false ;
for ( $i = 0 ; $i < count ( $d ) ; $i ++ ) {
$e = explode ( » : » , $d [ $i ] ) ;
if ( $e [ 1 ] == $ip1 trim ( $e [ 2 ] ) == $ip2 $e [ 0 ] + $this -> timeout > $curtime ) { $found = true ; break ; }
}
if ( $http_error == 404 $found == true ) {
header ( «HTTP/1.0 404 Not Found» ) ;
die ( » n n 404 Not Found n n

Not Found

n The requested URL » . $HTTP_SERVER_VARS [ «REQUEST_URI» ] . » was not found on this server. n n » . $HTTP_SERVER_VARS [ «SERVER_SIGNATURE» ] . » n » ) ;
}
if ( $http_error == 403 $found == true ) {
header ( «HTTP/1.0 403 Forbidden» ) ;
die ( » n n 403 Forbidden n n

Forbidden

n You don’t have permission to access » . $HTTP_SERVER_VARS [ «REQUEST_URI» ] . » n on this server. n n » . $HTTP_SERVER_VARS [ «SERVER_SIGNATURE» ] . » n » ) ;
}
return ( $found ) ;
}

/* */
/* Добавления IP адреса в бан-лист */
/* */

function Ban ( ) {
GLOBAL $HTTP_SERVER_VARS ;

$agent = » » . $HTTP_SERVER_VARS [ «HTTP_USER_AGENT» ] ;
for ( $i = 0 ; $i < count ( $this ->AGENTS ) ; $i ++ ) {
if ( strpos ( $agent , $this -> AGENTS [ $i ] ) ) return ;
}

$ip1 = $HTTP_SERVER_VARS [ «REMOTE_ADDR» ] ;
$ip2 = $HTTP_SERVER_VARS [ «HTTP_X_FORWARDED_FOR» ] ;
$ip1 = str_replace ( «:» , «_» , $ip1 ) ;
$ip2 = str_replace ( «:» , «_» , $ip2 ) ;

if ( need_add )
if ( ! empty ( $this -> log ) ) {
$fw = fopen ( $this -> log , «at» ) ;
if ( $fw ) {
fputs ( $fw , date ( «Y-m-d H:i:s» ) . » [» . $ip1 . »
}
$d [ ] = $curtime . » : » . $ip1 . » : » . $ip2 . » n » ;
}

foreach ( $d as $e ) fputs ( $fw , $e ) ;
fclose ( $fw ) ;
}

function AddAlowAgent ( $agent ) {
$this -> AGENTS [ ] = $agent ;
}
}
?>

Примеры использования

Этот код должен быть установлен на скрытой странице:

Источник: codenet.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru