.htaccess запрет прямых ссылок на изображение

Discussion in 'Болталка' started by it's my, 21 Dec 2007.

Thread Status:
Not open for further replies.
  1. it's my

    it's my Banned

    Joined:
    29 Sep 2007
    Messages:
    335
    Likes Received:
    347
    Reputations:
    36
    Написал в хтацесе запрет на хотлинкинг:

    Code:
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^http://site.ru/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://site.ru$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.site.ru/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.site.ru$ [NC]
    RewriteRule .*\.(gif|jpeg|jpg|png)$ http://site.ru/fuck.gif [R,NC]
    Но почему-то не работает, может я в чем-то ошибся?
     
  2. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Ну а в логах что?
     
  3. it's my

    it's my Banned

    Joined:
    29 Sep 2007
    Messages:
    335
    Likes Received:
    347
    Reputations:
    36
  4. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    А в error_log чисто?
     
  5. it's my

    it's my Banned

    Joined:
    29 Sep 2007
    Messages:
    335
    Likes Received:
    347
    Reputations:
    36
    Code:
    [Fri Dec 21 07:54:55 2007] [error] [client 90.xxx.xxx.50] File does not exist: /home/xxx/domains/site.ru/public_html/favicon.ico
    [Fri Dec 21 07:54:55 2007] [error] [client 90.xxx.xxx.50] File does not exist: /home/xxx/domains/site.ru/public_html/arena/
    [Fri Dec 21 07:55:17 2007] [error] [client 90.xxx.xxx.50] File does not exist: /home/xxx/domains/site.ru/public_html/favicon.ico
    [Fri Dec 21 07:55:17 2007] [error] [client 90.xxx.xxx.50] File does not exist: /home/xxx/domains/site.ru/public_html/arena/
    [Fri Dec 21 08:13:30 2007] [error] [client 90.xxx.xxx.50] File does not exist: /home/xxx/domains/site.ru/public_html/images/logo.gif
    [Fri Dec 21 08:13:30 2007] [error] [client 90.xxx.xxx.50] File does not exist: /home/xxx/domains/site.ru/public_html/arena/
    [Fri Dec 21 08:13:38 2007] [error] [client 90.xxx.xxx.50] File does not exist: /home/xxx/domains/site.ru/public_html/images/style.css
    [Fri Dec 21 08:13:38 2007] [error] [client 90.xxx.xxx.50] File does not exist: /home/xxx/domains/site.ru/public_html/arena/
    [Fri Dec 21 08:13:45 2007] [error] [client 90.xxx.xxx.50] File does not exist: /home/xxx/domains/site.ru/public_html/images/logo.gif
    [Fri Dec 21 08:13:45 2007] [error] [client 90.xxx.xxx.50] File does not exist: /home/xxx/domains/site.ru/public_html/arena/
    и всё.... здесь тоже пусто
     
  6. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Кажется у тебя точка не везде слеширована... Хотя ХЗ, давно мод реврайтом не пользовался, в общем попробуй так:

    Code:
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^http://site\.ru/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://site\.ru$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www\.site\.ru/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www\.site\.ru$ [NC]
    RewriteRule .*\.(gif|jpeg|jpg|png)$ http://site\.ru/fuck\.gif [R,NC]
    З.Ы. Кстати, если что - пустые рефереры тоже надо запретить: RewriteCond %{HTTP_REFERER} !^$
    З.Ы.Ы. Если не изменилось ничего, попробуй последним условием вызова сделать RewriteRule .*\.(jpg|gif)$ - [F] вместо RewriteRule .*\.(gif|jpeg|jpg|png)$ http://site\.ru/fuck\.gif [R,NC]. Это просто даст отлуп по имажам вместо переадресации на твой фуск.
     
    #6 groundhog, 21 Dec 2007
    Last edited: 21 Dec 2007
  7. it's my

    it's my Banned

    Joined:
    29 Sep 2007
    Messages:
    335
    Likes Received:
    347
    Reputations:
    36
    Спасибо помогло, сделал так:
    Code:
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://site\.ru/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://site\.ru$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www\.site\.ru/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www\.site\.ru$ [NC]
    RewriteRule .*\.(gif|jpeg|jpg)$ http://site\.ru/fuck.png [R,NC]
    Слэширование помогло, но не получалось еще из-за того что в случае обращение к изображениям на хосте формата gif, jpeg, jpg и png идет ридерект на fuck.gif, а так как у файла fuck.gif расширение gif ридерект опять идет на него же и так до бесконечности =/ Вообщем пасиба
     
  8. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Ну добро! Добавь тогда свой фуск в "доверенные" изображения:

    Code:
    RewriteCond %{REQUEST_URI} !^http://site\.ru/fuck\.png
    и вообще всё будет замечтайся...
     
  9. it's my

    it's my Banned

    Joined:
    29 Sep 2007
    Messages:
    335
    Likes Received:
    347
    Reputations:
    36
    млять!!!!! Перестало работать, хотя хтацес не изменился =/
    В чём могут быть еще проблемы?
     
  10. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Хм... После чего перестало работать? Покажи текущий вариант директив.
     
  11. it's my

    it's my Banned

    Joined:
    29 Sep 2007
    Messages:
    335
    Likes Received:
    347
    Reputations:
    36
    Спасибо groundhog за вправление мозгов... Тему можно сносить
     
Thread Status:
Not open for further replies.