PDA

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


it's my
21.12.2007, 09:30
Написал в хтацесе запрет на хотлинкинг:

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]

Но почему-то не работает, может я в чем-то ошибся?

groundhog
21.12.2007, 10:17
Ну а в логах что?

it's my
21.12.2007, 10:41
вот ЛОГИ (http://dump.ru/files/n/n645965935/)

groundhog
21.12.2007, 10:50
А в error_log чисто?

it's my
21.12.2007, 10:59
[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/

и всё.... здесь тоже пусто

groundhog
21.12.2007, 11:09
Кажется у тебя точка не везде слеширована... Хотя ХЗ, давно мод реврайтом не пользовался, в общем попробуй так:

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]. Это просто даст отлуп по имажам вместо переадресации на твой фуск.

it's my
21.12.2007, 11:25
Спасибо помогло, сделал так:
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 ридерект опять идет на него же и так до бесконечности =/ Вообщем пасиба

groundhog
21.12.2007, 11:30
Ну добро! Добавь тогда свой фуск в "доверенные" изображения:

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

it's my
21.12.2007, 11:42
млять!!!!! Перестало работать, хотя хтацес не изменился =/
В чём могут быть еще проблемы?

groundhog
21.12.2007, 12:06
Хм... После чего перестало работать? Покажи текущий вариант директив.

it's my
21.12.2007, 12:54
Спасибо groundhog за вправление мозгов... Тему можно сносить