Заблокировать Facebook с моего сайта - PullRequest
9 голосов
/ 19 ноября 2011

У меня есть служба безопасного направления ссылок ( expiringlinks.co ). Если я изменю заголовки в php для перенаправления моих посетителей, тогда facebook сможет показывать предварительный просмотр веб-сайта, на который я перенаправляю, когда пользователи отправляют ссылки друг другу через facebook. Я хочу избежать этого. Сейчас я использую вызов AJAX, чтобы получить URL-адрес и javascript для перенаправления, но это вызывает проблемы у пользователей, которые не используют javascript.

Вот несколько способов заблокировать Facebook, но я не могу начать работать:

  1. Я пытался заблокировать бота в Facebook (facebookexternalhit / 1.0 и facebookexternalhit / 1.1), но он не работает, я не думаю, что они используют его для этой функции.

  2. Я думаю о блокировке IP-адресов Facebook, но я не могу найти их все, и я не думаю, что это сработает, если я не получу их все.

  3. Я думал об использовании CAPTCHA или даже кнопки, но я не могу заставить себя сделать это для моих посетителей. Не говоря уже о том, что я не думаю, что кто-то будет использовать сайт.

  4. Я искал в документах на Facebook мета-теги, которые могли бы «отказаться», но не нашел ни одного, и сомневаюсь, что я бы доверял этому, если бы имел.

Какие-нибудь креативные идеи или идеи, как реализовать вышеперечисленные? Заранее большое спасибо!

Ответы [ 4 ]

2 голосов
/ 22 ноября 2011

Попробуй - у меня это работает ...

<?php 
$ua = $_SERVER['HTTP_USER_AGENT'];

if (preg_match('/facebookexternalhit/si',$ua)) { 
header('Location: no_fb_page.php'); 
die() ; 
} 

?>
0 голосов
/ 19 ноября 2011

Все, что вам нужно сделать, это правильно настроить robots.txt.

http://www.robotstxt.org/robotstxt.html

0 голосов
/ 22 ноября 2011

Вы можете попробовать использовать метаобновление вместо перенаправления javascript. Они работают для всех браузеров, и, поскольку страница все еще возвращает ответ 200, любой сканер должен прекратить там разрешать.

0 голосов
/ 19 ноября 2011

Вы можете попытаться получить лог-файл вашего веб-сервера и найти там необычные пользовательские агенты. (возможно, содержащий Facebook) Или, в противном случае получить журналы и удалить все содержащие Internet Explorer / Firefox / Opera ... Тогда у вас должны быть только боты, используемые в конце концов. Тогда вы можете искать для Facebook.

...