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

artscripts
На сайте с 24.09.2008
Offline
136
8397

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

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

Запись запрещающей строки в .htaccess осуществляется автоматически.

Скрипт вставляется в каждую страницу сайта с помощью include.

Описание настроек скрипта:

// error_reporting(0) После установки и настройки скрипта комментарий снять.

$limit // Максимально допустимое количество обращений к сайту с одного IP-адреса в минуту.

$htaccess // Путь к файлу .htaccess

$htstring // Комментарий к строке в файле .htaccess

$dirfiles // Путь к папке с временными файлами

$logfiles // Имена временных файлов

$excludes // Массив исключений с именами хостов, которым "можно всё"



<?php
//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]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/', $ip1, $ip1);
$ip1 = array_unique($ip1[0]);
foreach ($ip1 as $v) {
$htstring.="Deny from ".$v." \\\\ Заблокирован Внутренний IP \\\\ $hostip1\r\n";
}
}
if (!empty($ip2)) {
$htstring.="Deny from ".$ip2." \\\\ Заблокирован IP Proxy \\\\ $hostip2\r\n";
}
} else {
$htstring = "Deny from ".$address." \\\\ Заблокирован Внешний IP \\\\ $hostname\r\n";
}
$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)) {exit;}
}

if (!file_exists($logfiles)) {fopen($logfiles, "w+");}
$write = "$datetime - $hostname<br>Browser: $browser<br>Referer: $ref<br>URL: $url<br>\r\n";
if ($logfiles) {
if (is_writable($logfiles)) {
if (!$handle = fopen($logfiles, 'a')) {exit;}
if (fwrite($handle, $write) === FALSE) {exit;}
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')) {exit;}
if (fwrite($handle, $htstring) === FALSE) {exit;}
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

Пробуйте, должно работать

https://soundmain.ru - библиотека звукорежиссера и любителя
Ivan Che
На сайте с 29.08.2007
Offline
29
#1

От школьника поможет, от умного парсера - нет. Всё, что отдается браузеру, может быть скачано и сохранено на компе.

К сожалению, на сегодняшний день нет 100% работающего метода по защите контента. Есть полумеры: отдавать текст на флэше (картинкой), давать доступ к полнотекстовым ресурсам после символической оплаты и т.д. Но опять-таки: того, кто очень сильно захочет получить ваш контент, это не остановит.

AboutSEO
На сайте с 18.01.2007
Offline
154
#2

помоему "школьники", такой х*йней только и занимаются, выкачивая сайты целиком.

умные, найдут другое применение своим мозгам.

а защитить всеравно на 100% не получится, всегда есть кеш из которого могут выдрать опреденный материал.

не знаю как сейчас, но раньше в гугле точно помогало - но-кеш, чтобы сохраненки небыло.

по поводу скрипта:

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

T
На сайте с 23.06.2006
Offline
257
#3

Качалки качают постоянно. Если сделать тайм аут для этого и отлуп. Будет работать?

allmomente
На сайте с 27.05.2008
Offline
44
#4
artscripts:
Да, естественно, что если на сайте стоит сапа, надо разрешить доступ роботам

А как с поисковыми роботами? Их ведь тоже нечаянно забанить можно...

ewg777
На сайте с 04.06.2007
Offline
225
#5

artscripts, такое уг просто повесит сервер и всё.

if (is_writable($htaccess)) {
if (!$handle = fopen($htaccess, 'a')) {exit;}
if (fwrite($handle, $htstring) === FALSE) {exit;}
fclose($handle);
}
Ужас.
artscripts
На сайте с 24.09.2008
Offline
136
#6

Ivan Che, AboutSEO, Так в первую очередь защита от школьников и нужна, какую то часть отсеит, естественно, от программиста, который хочет в любом случае скачать, это слабая защита

torg:
Качалки качают постоянно. Если сделать тайм аут для этого и отлуп. Будет работать?

Скрипт рабочий, проверяйте, не я его писал. Но в работе проверен.

allmomente:
А как с поисковыми роботами? Их ведь тоже нечаянно забанить можно...

В скрипте уже основные поисковики перечислены, для разрешения их действий.

ewg777,

Не поверите, этот скрипт мне дал сам хостер, когда скачиванием своим люди мне cpu на 86% загружали, у них не весел, что у вас за сервер я не знаю. Я не программист, лишь поведал тем кому нужно, что есть така штуковина.

ewg777
На сайте с 04.06.2007
Offline
225
#7
Не поверите, этот скрипт мне дал сам хостер, когда скачиванием своим люди мне cpu на 86% загружали, у них не весел, что у вас за сервер я не знаю. Я не программист, лишь поведал тем кому нужно, что есть така штуковина.

Тогда нужно бежать от такого "хостера"

[Удален]
#8

удалите ваш сайт и его никто не скопирует

artscripts
На сайте с 24.09.2008
Offline
136
#9

ewg777, bearman, Ребят я не хочу спорить, здесь на форуме кто-то спрашивал, я предложил вариант, может кому пригодится. А может кто и доработает. Отрицая предлогайте, а не разводите полемику :) Кто хотел тот попробовал, за сим, можно и закрыть.

[Удален]
#10

я и ewg777, хотел сказать что на пхп такие сприкты и так убого не пишутся. пишутся они на стандартных срествах - bash, awk. когда с моего серверы запрашивают пхп страницы больше 10 страниц в минуту - человек уходит в бан на 2 часа =))))

так и тут можно

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий