Просмотр полной версии : .htaccess запрет прямых ссылок на изображение
Написал в хтацесе запрет на хотлинкинг:
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
Ну а в логах что?
вот ЛОГИ (http://dump.ru/files/n/n645965935/)
groundhog
21.12.2007, 10:50
А в error_log чисто?
[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]. Это просто даст отлуп по имажам вместо переадресации на твой фуск.
Спасибо помогло, сделал так:
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
и вообще всё будет замечтайся...
млять!!!!! Перестало работать, хотя хтацес не изменился =/
В чём могут быть еще проблемы?
groundhog
21.12.2007, 12:06
Хм... После чего перестало работать? Покажи текущий вариант директив.
Спасибо groundhog за вправление мозгов... Тему можно сносить
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot