Facebook链接我的网站解析为403禁止

问题描述:

嗨我遇到了一个超级奇怪的问题。
每当我在Facebook上发布链接到我的网站时,他们都会以Forbidden的形式出现。
该网站本身效果很好,我没有看到这个链接在其他网站上。
这可能是服务器配置错误吗?任何想法在哪里看?Facebook链接我的网站解析为403禁止

这里的一些信息:
我有运行南国11.25.0
专用服务器,我有2个网站托管在这里使用的cPanel 11.25.0

错误信息:

Forbidden

您没有 权限访问此 服务器上的 /blog/deepwater-horizo​​n-11 /。

此外,遇到404 未找到错误,而 尝试使用ErrorDocument到 来处理请求。


阿帕奇/ 2.2.14(UNIX) 了mod_ssl/2.2.14的OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4的FrontPage/5.0.2.2635 服务器在www.offshoreinjuries.com 端口80

UPDATE:
下面是一个简单的链接,如果有帮助。 (注意要链接的页面直接正常工作)
http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.offshoreinjuries.com%2Fblog%2Fdeepwater-horizon-11%2F&h=834ea

更新,并回答:
发现的问题,并在下面添加一个完整的答案。

+0

除非你给我们链接,否则很难看到。虽然在这里张贴您的Facebook链接可能不是一个好主意。 – DMan 2010-05-27 23:02:09

+0

感谢DMan,我添加了一个链接到我的文章。它通过Facebook的“小心!”而失败页面(您可能需要从FB注销才能看到它),但是直接访问或链接到任何其他站点时,链接工作正常。 – filip 2010-05-28 01:15:44

+0

你已经发布了断开的链接,什么是正确的? http://www.offshoreinjuries.com/blog/deepwater-horizo​​n-11既不能从Facebook上也不能直接使用 – zerkms 2010-05-28 03:30:01

我终于能够到达这种行为的底部。
我的主机HostGator的默认mod_security设置包括一组白名单和黑名单。在检查这些时,我发现.facebook.com/l.php列入黑名单。
l.php是一个包装页面,它提供了一个警告,您将离开Facebook。据我了解,因为这可以很容易地利用,HostGator选择实质上黑名单所有出站的Facebook链接。

我通过从mod_security黑名单中删除.facebook.com/l.php解决了我的问题,但是我也可以通过在WHM中单击来将我的mod_security设置重置为Default(与HostGator配置)。

+0

默认情况下是mod_security吗?我有一个HostGator帐户,并且从来没有与Facebook推荐人有任何问题(或者我认为)。 – jasonmp85 2010-05-30 00:37:47

+0

请参阅我有两台配备HostGator的专用服务器,其中一台mod_security设置为“无配置”,只有在这台较新的服务器上才能看到一些HostGator准备的设置。但据我了解,默认情况下,mod_security已打开,应该打开......只是HostGator黑名单对我的需求有点矫枉过正。我在WHM的“插件”>“Mod Security”>“编辑配置”下找到该设置。 – filip 2010-05-30 18:21:32

您必须在某处读取HTTP_REFERER并拒绝来自Facebook的传入链接。认真。这是线之间发生了什么:

没有引用

telnet www.offshoreinjuries.com 80 
HEAD /blog/deepwater-horizon-11/ HTTP/1.1 
Host: www.offshoreinjuries.com 

    HTTP/1.1 200 OK 
    Date: Fri, 28 May 2010 09:19:45 GMT 
    Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 
    X-Powered-By: PHP/5.2.12 
    X-Pingback: http://www.offshoreinjuries.com/blog/xmlrpc.php 
    Content-Type: text/html; charset=UTF-8 

200 OK,不错。

Facebook的引荐

telnet www.offshoreinjuries.com 80 
HEAD /blog/deepwater-horizon-11/ HTTP/1.1 
Host: www.offshoreinjuries.com 
Referer: http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.offshoreinjuries.com%2Fblog%2Fdeepwater-horizon-11%2F&h=834ea 

    HTTP/1.1 403 Forbidden 
    Date: Fri, 28 May 2010 09:21:04 GMT 
    Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 
    Content-Type: text/html; charset=iso-8859-1 

403紫禁城,不好。再次

其他任何引用

telnet www.offshoreinjuries.com 80 
HEAD /blog/deepwater-horizon-11/ HTTP/1.1 
Host: www.offshoreinjuries.com 
Referer: http://alvaro.es/ 

    HTTP/1.1 200 OK 
    Date: Fri, 28 May 2010 09:20:36 GMT 
    Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 
    X-Powered-By: PHP/5.2.12 
    X-Pingback: http://www.offshoreinjuries.com/blog/xmlrpc.php 
    Content-Type: text/html; charset=UTF-8 

200 OK。

您的服务器正在积极拒绝来自Facebook的访问者。

+0

以外,它的工作状况还不错。非常感谢Álvaro。我想我会联系我的主机,因为我刚刚迁移到这台服务器,几乎没有改变任何东西。但是感谢您的关注,如果您想到某处我可以改变这种行为,请告诉我! – filip 2010-05-28 13:39:38

+0

仔细查看他们提供的任何控制面板。你永远不知道:) – 2010-05-29 08:50:22