.htaccess . Проблема с HTTP_REFERER

Тема в разделе "Как сделать...", создана пользователем Serberg, 21 дек 2009.

Статус темы:
Закрыта.
  1. Serberg

    Serberg

    Регистр.:
    7 апр 2009
    Сообщения:
    233
    Симпатии:
    68
    В общем то есть сайтик на котором держу видео файлы. Чтобы защититься от личей воткнул в директорию с файлами .htaccess следующего содержания:

    Код:
    RewriteEngine on 
    RewriteCond %{HTTP_REFERER} !^http://мой-сайт/.*$      [NC] 
    RewriteCond %{HTTP_REFERER} !^http://www.мой-сайт/.*$   [NC] 
    RewriteRule .*\.(mp3|avi|rar|zip|jpg|flv)$ http://мой-сайт/ [R,NC]
    Таким макаром я огородился от личей которые захотят использовать хотлинки, но недавно узнал о проблеме. Браузеры FireFox, safari, Chrome частенько не передаю реферер. Т.е. я огнелиса захожу к себе на DLE сайт и пытаюсь проиграть ролик через плеер, в итоге получаю ответ что ролика не существует, потом захожу с оперы на ту же страницу просматриваю этот файл без проблем. Это еще раз подтверждает что реферер огнелисом передан не был.

    Внимание вопрос! Можно ли что то сделать чтобы исправить такую ситуацию? Т.е. есть ли какие нибудь хитрости которые помогли бы обойти данный барьер ?
     
  2. swer

    swer

    Регистр.:
    15 июн 2008
    Сообщения:
    305
    Симпатии:
    38
    Сам использую такой же механизм и проблем не видел,возможно дело в плеере...других не вижу.
     
  3. Serberg

    Serberg

    Регистр.:
    7 апр 2009
    Сообщения:
    233
    Симпатии:
    68
    дело не в плеере а в браузерах. В одних все Ок, в других все плохо. Хотя может и плеер есть како нибудь который принудительно заставляет браузер передать реферера к файлу.

    Я думал думал и нашел несколько инной выход из данной безвыходной ситуации. Сделал .htaccess вот такова типа:

    Код:
    RewriteEngine on 
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www.)?мой-домен\.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www.)?мой-2домен\.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www.)?мой-3домен\.com/.*$ [NC]
    RewriteRule .(jpg|flv|swf)$ http://www.мой-домен.com/ [R,NC]
    Таким образом файлы защищены от использования на других сайтах, но доступны для скачки. Т.е. если реферера нет - то файлы передаются, если обращение идет с реферером и его нет в списке - файл не передается.
     
  4. swer

    swer

    Регистр.:
    15 июн 2008
    Сообщения:
    305
    Симпатии:
    38
    Вот пользуюсь плеером от

    http://uppod.ru/
    так же
    http://www.divx.com/
     
  5. Ad1ce

    Ad1ce Постоялец

    Регистр.:
    18 авг 2009
    Сообщения:
    109
    Симпатии:
    25
    использую редирект по рефереру.
    Если мой сайт - то редирект, иначе-отлуп на главную. Проблем с браузерами не замечал как под виндой, так и под линуксом.
    Все они корректно отдавали реферер.
     
  6. lordBlack

    lordBlack

    Регистр.:
    29 ноя 2007
    Сообщения:
    620
    Симпатии:
    246
    как реализовано? если можно код в студию.
     
Статус темы:
Закрыта.