J'ai un service de direction de lien sécurisé que j'exécute (expiringlinks.co). Si je change les en-têtes en php pour rediriger mes visiteurs, Facebook est en mesure d'afficher un aperçu du site Web vers lequel je redirige lorsque les utilisateurs s'envoient des liens via Facebook. Je souhaite éviter cela. En ce moment, j'utilise un appel AJAX pour obtenir l'URL et le javascript à rediriger, mais cela pose des problèmes aux utilisateurs qui n'utilisent pas le javascript.

Voici un certain nombre de façons dont j'aimerais bloquer Facebook, mais je n'arrive pas à travailler:

  1. J'ai essayé de bloquer le bot facebook (facebookexternalhit / 1.0 et facebookexternalhit / 1.1) mais cela ne fonctionne pas, je ne pense pas qu'ils les utilisent pour cette fonctionnalité.

  2. Je pense à bloquer les adresses IP de Facebook, mais je ne peux pas toutes les trouver, et je ne pense pas que cela fonctionnera à moins que je ne les obtienne toutes.

  3. J'ai pensé à utiliser un CAPTCHA ou même un bouton, mais je ne peux pas me résoudre à le faire à mes visiteurs. Sans oublier que je ne pense pas que quiconque utiliserait le site.

  4. J'ai recherché dans les documents Facebook des balises META qui pourraient me "désinscrire", mais je n'en ai pas trouvé, et je doute que j'aurais confiance en lui si je l'avais fait.

Des idées créatives ou une idée de la façon de mettre en œuvre celles ci-dessus? Merci d'avance!

9
Joseph Szymborski 19 nov. 2011 à 21:00

4 réponses

Meilleure réponse

Essayez ceci - cela fonctionne pour moi ...

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

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

?>
2
Simon R 22 nov. 2011 à 11:55

Tout ce que vous devez faire est de configurer correctement le fichier robots.txt.

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

0
Brad 19 nov. 2011 à 19:38

Vous pouvez essayer d'obtenir le fichier journal de votre serveur Web et y rechercher des agents utilisateurs inhabituels. (contenant peut-être Facebook) Ou, sinon, récupérez les journaux et supprimez tous les explorateurs Internet / Firefox / opéra contenant ... Ensuite, vous ne devriez avoir que des bots useragents à la fin. Ensuite, vous pouvez rechercher celui de Facebook.

0
Quurks 19 nov. 2011 à 19:35

Vous pouvez essayer d'utiliser une méta-actualisation au lieu d'une redirection javascript. Ils fonctionnent pour tous les navigateurs et parce que la page renvoie toujours une réponse 200, tout robot doit cesser de s'y résoudre.

0
alexarno 22 nov. 2011 à 09:49
8195663