Facebook ссылки на мой сайт разрешить как 403 запрещено - PullRequest
4 голосов
/ 28 мая 2010

Привет, у меня возникла очень странная проблема.
Всякий раз, когда я публикую ссылки на мой сайт в Facebook, они называются Запрещенными.
Сам сайт работает отлично, и я не видел этого при ссылках на другиеsites.
Может ли это быть неверной конфигурацией сервера?Есть мысли о том, где искать?

Вот немного информации:
У меня выделенный сервер, на котором запущен WHM 11.25.0
У меня есть 2 сайта, размещенные здесь с использованием cPanel 11.25.0

сообщение об ошибке:

Запрещено

У вас нет прав на доступ к / blog / deepwater-horizon-11 / на этом сервере.

Дополнительно, ошибка 404 не найдена при попытке использовать ErrorDocument для обработки запроса.


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 Сервер по адресу www.offshoreinjuries.com Порт 80

ОБНОВЛЕНИЕ:
Вот пример ссылки, если это поможет.(обратите внимание, что связанная страница напрямую работает нормально)
http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.offshoreinjuries.com%2Fblog%2Fdeepwater-horizon-11%2F&h=834ea

ОБНОВЛЕНИЕ и ОТВЕТ:
Найдена проблема и добавлен полный ответ ниже.

Ответы [ 2 ]

6 голосов
/ 28 мая 2010

Где-то должно быть правило, которое читает 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 ОК, хорошо.

Реферер 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 ОК снова.

Ваш сервер активно отклоняет посетителей из Facebook.

1 голос
/ 29 мая 2010

Я наконец смог разобраться в этом поведении.
Настройки по умолчанию для mod_security моего хоста HostGator включают набор белых и черных списков. После проверки я обнаружил .facebook.com/l.php в черном списке.
l.php - это страница-обертка, которая предупреждает о том, что вы покидаете Facebook. Насколько я понимаю, так как это можно легко использовать, HostGator решил занести в черный список все исходящие ссылки на Facebook.

Я исправил свою проблему, удалив .facebook.com/l.php из черного списка mod_security, однако я мог бы просто сбросить мои настройки mod_security на Default (против конфигурации HostGator) одним щелчком мыши в WHM.

...