Всем я думаю известны всевозможные парсеры и граберы контента, которые позволяют наполнять новые сайты в кратчайшие сроки и не особо напрягаясь. И если вы владелец такого сайта-донора, то вам будет крайне неприятно однажды обнаружить слизанный с вашего сайт. Я хотел бы предложить не какой-то механизм защиты содержимого страниц, а простой генератор ссылок, который сможет увести в бесконечный цикл массу современных парсеров/граберов контента и ссылок. При этом этот генератор можно использовать для своей же пользы - показывая незадачливому граберу рекламные баннеры :).
Так как сайт о perl, То сперва я представлю вариант на perl:
1 #!/usr/bin/perl -w
2 use strict;
3 use CGI qw(header param);
4 print header(-charset=>'windows-1251');
5 my $page=param('page') || 1;
6 $page=~s/[^0-9]+//g;
7 my $spage=$page-1;
8 my $enpage=$page+1;
9 print qq(
10 <html><head><title>Grab Killer</title>
11 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
12 </head><body>
13 <table width="70%" border="0" align="center">
14 <tr>
15 <td width="30%" height="137"> <div align="center">Реклама</div></td>
16 <td width="44%"> <div align="center">Реклама</div></td>
17 <td width="26%"> <div align="center">Реклама</div></td>
18 </tr>
19 <tr>
20 <td><div align="center"><a href="?page=$spage">предыдущая</a></div></td>
21 <td><div align="center">текущая</div></td>
22 <td><div align="center"><a href="?page=$enpage">следующая</a></div></td>
23 </tr></table></body></html>);
и не мог не написать нечто похожее на php:
1 <?php
2 if(!isset($_GET['page']) or $_GET['page']==0) {
3 $page=1;
4 } else {
5 $page=$_GET['page'];
6 }
7 $spage=$page-1;
8 $enpage=$page+1;
9 ?>
10 <html><head><title>Grab Killer</title> http-equiv="Content-Type" content="text/html; charset=windows-1251"
11
12 width="70%" border="0" align="center"
13
14 width="30%" height="137" align="center"Реклама
15 width="44%" align="center"Реклама
16 width="26%" align="center"Реклама
17
18
19 align="center"
20 <?php echo "<a href=\"?page=$spage\">предыдущая</a>"; ?>
21 align="center"текущая
22 align="center"
23 <?php echo "<a href=\"?page=$enpage\">следующая</a>"; ?>
24
разместив такой файл у себя на сайте, и поместив код для показа баннеров вместо текста Реклама, можно и грабителей наказать и даже заработать :)...
P.S
Собственно эта тема появилась благодаря тому что я сам в процессе доработки своего грабера натолкнулся на такую проблему, и сейчас ее решаю. То есть задача - как обойти такие ловушки на сайтах? Особенно часто подобные ловушки бывают с сайтами на которых содержится подробная статистика.



с perl сбор ссылок с сайта - интересная задача. Особенно когда развелось куча пхп скриптов для этого которые в большинстве своем работают медленно и криво. Perl скрипт думаю будет работать быстро и четко! Главное ширина канала чтобы была достаточно большой.