Asher

Рейтинг
82
Регистрация
09.08.2004
Thru:
имхо Expires с левым значением - вовсе незачем. Да и смысл увеличивать возраст документа через rand?

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

Ayavryk:
клоакинг запрещен в регламенте Яндекса. Т.е. настройка сайта раздельно под роботов и пользователей.

Выдача посетителю с разными установленными языками соответствующих страничек на родном языке - тоже клоакинг, однако прекрасно работает. Тоже самое касается тегов <noindex></noindex>. Клоакинг определяется в каждом конкретном случае и определение далеко неоднозначно. Да и вообще, причем здесь определение методов - черных или белых. Речь шла о (перечитайте название топика) вариантах сокрытия ссылки от ботов. Я привел конкретный рабочий пример сокрытия ссылки, а где и как его использовать - это выходит за тему данного топика.

Ayavryk:
И совершенно точно js здесь абсолютно лишний. Если вы подстраиваетесь под рефер, нафига он вообще нужен? дешевле на стороне сервера определить рефер и по нему выдать любое содержимое.

А где же по вашему находится .htaccess и определяется реферер, а также происходит редирект в моем примере? Неужели в браузере :D. Браузер только посылает реферер на сервер, который и принимает решение отдавать файл link.js с кодом ссылки или нет.

Ayavryk:
Рефер с вашего же сайта?? Ну если у вас с поиска приходит всего 3% посетителей, тогда вам точно нужно пересмотреть методы работы :)

Оставьте обсуждение моих методов работы (если они вообще вам известны :D :D) для других случаев, а лучше вообще воздержитесь от этого.

Ayavryk:
Но тогда пользователь не увидит эту ссылку. Какая-то сомнительная затея. И зачем вообще вешать JS? Проще реализовать на сервере.
Зачем использовать методы, которые явно запрещены, если то же самое можно сделать вполне легально?

Что пользователь не увидит и какие именно методы запрещены? Скрывать ссылку в Яваскрипте, так многие меню в нем делают.

Сокрытие ссылки от всех ботов (и от юзеров, не передающих реферер ~3-5%):

Создаем внешний файл link.js, в него вставляем код Яваскрипт:

var o='o';var a='a';var e='e';var h='h';document.write('<a '+h+'ref="'+h+'ttp://sit'+e+e+'x'+a+'mpl'+e+'.ru/"> t'+a+'rget="_bl'+a+'nk">');

В код странички вместо скрываемой ссылки вставляем следующий код:

...

<script language="JavaScript" src="link.js"></script>Текст ссылки на сайт siteexample.ru</a>
...

В .htaccess добавляем:

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^*.mysite.ru.* [NC]
RewriteRule ^.*js$ - [F]

По моему все разжевано до мелочей.

В данном случае тег <a> в коде страничке не открыт, но как показывает практика, это не всегда имеет значение. Если желательно полностью соблюсти синтаксис html, то надо </a> тоже вынести во внешний файл по схожей схеме.

Ayavryk:
Т.е. если пришли с поисковой машины или с закладки, то скрипт отрабатвываться не будет?

Нет, если пришли с рефом не от нашего сайта или вообще без него, неважно откуда, то внешний Яваскрипт не отдается.

Можно модифицировать его, определяя юзер-агент ботов по аналогичной схеме и не отдавать им .js.

Сливайте на ппц, вроде умакса или кулвебсеарч.

Раньше Гугля банил айпи на непродолжительное время, примерно сутки. Видимо у них скрипты работают по так называемой "модели усредненного посетителя", просматривающего столько-то результатов за определенный период и банят айпи при превышении этого количества.

Можно поискать какой-нибудь серьезный сайт, на котором есть полнотекстовый поиск от гугля по всему вебу и парсить его. Тогда по идее запросы в гугль будут идти с айпи этого сайта.

Чтобы скрыть ссылку от любого бота надо ее слегка зашифровать, например так:

var o='o';var a='a';var e='e';var h='h';document.write('<a '+h+'ref="'+h+'ttp://sit'+e+e+'x'+a+'mpl'+e+'.net/"> t'+a+'rget="_bl'+a+'nk">');

Затем вынести во внешний файл, и прибивать все левые запросы по реферу через mod_rewrite/htaccess примерно так:

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^*.mysite.ru.* [NC]
RewriteRule ^.*js$ - [F]

То есть проверять рефер, с которого запрашивается файл .js. Если он не с mysite.ru, тогда Forbidden

2Grisha: в самое начало странички (до любого вывода в браузер!) добавить

header('Expires: ' . strftime("%a, %d %b %Y %X GMT",time()+12*3600));

header('Last-Modified: ' . strftime("%a, %d %b %Y %X GMT",time()-mt_rand(12,24)*3600));

и Апач будет отдавать хедеры правильно.

Код взят с реального и долгоиграющего сайта.

Lupus: если вы единственный пользователь фтп и шелла, то проще будет открыть 21 и 22 порт только для себя (примерно таким образом):

IPTABLES -A INPUT -s ! 12.345.678.0/255.255.255.0 -p tcp -m tcp --dport 21 -j DROP

где 12.345.678.0/255.255.255.0 - подсеть вашего провайдера.

sudmed:
Obramovich, как только сможешь вновь платить Google_Checkout, отпиши в этой теме.

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

Всего: 284