Защита контента, защита информацииВ наш век, когда все имеет свою цену, стал особенно ценен уникальный контент. Тем, кто занимается продвижением сайтов — SEO — этого не нужно объяснять. Но в последнее время все чаще и в бОльших объемах контент качует с одного сайта на другой, причем “уходит” он практически одновременно с публикацией на сайте-источнике. Происходит это по причине того, что все чаще разработчики ГС (здесь и далее: говно-сайт) используют различные скрипты для воровства новостей, статей и прочей текстовой информации.

Естественно, что потратив определенное время на написание текста, хочется сохранить  его в уникальном виде. Конечно мы не можем защититься от ручного копирования, как говорится: “кто захочет, тот сворует”, но вот обломать автоматический грабеж все-таки возможно. Конечно я не асс в данной сфере, но все таки решил попробовать. В итоге воровство контента с тестируемого сайта прекратилось, а воровали, как минимум, с 12-ти других ГС.

Для начала я решил написать функцию, через которую бы прогонялся весь защищаемый контент. Для ее написания я использовал PHP пятой версии. Сама функция является проверкой на наличие web-сервера на компьютере с определенным ip-адресом.Происходит тестирование на наличие сервера только в случае, если не была получена информация о браузере. Можно сделать проверку более “суровой”, ниже написано как.

штак, функция test4graber или “тестируем на грабеж”.

function test4graber($user_ip,$user_agent,$page_text) {

if ($user_agent==”») {

// в моем примере время опроса ip — 0.2 секунды (значение в конце строки чуть ниже), вы можете поставить другое значение.

if (@$fp=stream_socket_client(”».$user_ip.”:80″, $errno, $errstr, 0.2)) {

$result=”Хватит воровать мой контент!”;

}else{

$result=$page_text;

}

}else{

$result=$page_text;

}

return $result;

}

Первая переменная $user_ip — это ip клиента, обратившегося к контенту, переменная $user_agent — браузер, который при этом использован, $page_text — непосредственно сам текст, который нужно защитить.

Допустим, наш контент равен тексту в $page_content. Попробуем провести его через нашу функцию.

$page_content=”Просто какой-то текст, который хотим защитить!”; // выводимый контент
echo test4graber($HTTP_SERVER_VARS[‘REMOTE_ADDR’], $_SERVER[‘HTTP_USER_AGENT’], $page_content); //применение функции

Здесь $HTTP_SERVER_VARS[‘REMOTE_ADDR’] — стандартная функция PHP для определения IP-адреса, с которого происходит соединение, $_SERVER[‘HTTP_USER_AGENT’] — стандартная функция для определения браузера, через который происходит соединение. Также стоит отметить, что в большинстве случаев, когда контент варуется автоматически, тип браузера не передается. Вы можете убрать строку if ($user_agent==”») { , и тогда контент не будет отдаваться даже если переменная USER_AGENT получена, но в таком случае будут блокироваться и роботы поисковиков. Т.е. вы либо блокируете все попытки захвата вашего контента, либо убираете данную строку и прописываете исключения для поисковых роботов. Я этого не сделал, потому что лень собирать информацию по тому, как какой поисковик представляется (каждый может иметь по несколько роботов, каждый из которых представляется по разному).

В заключении хочу сказать, что всегда найдут уроды, которые будут красть у вас информацию всеми возможными способами, но наша задача — сделать их будни наиболее хреновыми! ;)