从我的网站阻止Facebook

时间:2011-11-19 17:00:06

标签: php javascript facebook redirect ip

我正在运行安全链接指导服务(expiringlinks.co)。如果我更改php中的标题以重定向我的访问者,那么当用户通过Facebook发送链接时,Facebook可以显示我正在重定向到的网站的预览。我希望避免这种情况。现在,我正在使用AJAX调用来获取URL和javascript以进行重定向,但这会给不使用javascript的用户带来问题。

以下是我想阻止Facebook的一些方法,但我似乎无法工作:

  1. 我已经尝试阻止facebook bot(facebookexternalhit / 1.0和facebookexternalhit / 1.1),但它不起作用,我认为他们不会将它们用于此功能。

  2. 我正在考虑阻止Facebook的IP地址,但我找不到所有这些地址,除非我得到所有这些地址,否则我认为它不会起作用。

  3. 我想过使用CAPTCHA甚至是按钮,但是我无法让自己对访问者这样做。更不用说我认为没有人会使用该网站。

  4. 我在facebook文档中搜索了“选择退出”的元标记,但没有找到一个,并且怀疑如果我有的话我会信任它。

  5. 任何创意或任何想法如何实施上述内容?非常感谢你!

4 个答案:

答案 0 :(得分:2)

试试这个 - 它对我有用......

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

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

?>

答案 1 :(得分:0)

您可以尝试获取Web服务器的日志文件,并在那里搜索不同的使用者。 (可能包含facebook) 或者,否则获取日志并删除每个包含Internet Explorer / firefox / opera ... 那么你最后应该只有机器人使用者。 然后你就可以搜索facebook了。

答案 2 :(得分:0)

您需要做的就是正确设置robots.txt。

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

答案 3 :(得分:0)

您可以尝试使用元刷新而不是javascript重定向。它们适用于所有浏览器,因为页面仍会返回200响应,任何爬虫都应该停止在那里解析。