Защита от хотлинка для фотохостинга?

awmaster08
На сайте с 22.02.2008
Offline
155
793

Есть хостинг картинок на движке DPI. Прописал в .htacces код:

Options +FollowSymlinks

# no hot-linking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.ru/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?site\.ru/ [nc]
RewriteRule .*\.(gif|jpg|png)$ http://site.ru/warning.jpg [nc]

Но проблема в следующем. Скрипт преобразует url картинки http://site.ru/graphic/images/2012/February/02/pic.jpg (по этому адресу защита от хотлинка срабатвывает) в url вида http://site.ru/image-8347583pic.jpg - и по этому адресу защита уже не срабатывает. Для тумбы url будет http://site.ru/thumb-8347583pic.jpg

Как в таком случае защититься от хотлинка?

siv1987
На сайте с 02.04.2009
Offline
427
#1
awmaster08:
Скрипт преобразует url картинки

Какой скрипт?

Может быть при преобразование, чужой реферер теряется и правило не срабатывает?

Z
На сайте с 08.07.2009
Offline
95
#2
siv1987:
Какой скрипт?

Скрипт......

awmaster08:
хостинг картинок на движке DPI
awmaster08
На сайте с 22.02.2008
Offline
155
#3

А вот .htaccess из корня сайта

RewriteEngine On

RewriteRule ^thumb-(.*)\.jpg$ thumb.php?id=$1 [L]
RewriteRule ^image-(.*)\.jpg$ image.php?id=$1 [L]
RewriteRule ^image-(.*)\.gif$ image.php?id=$1&gif [L]
RewriteRule ^share-(.*)\.html$ share.php?id=$1 [L]
RewriteRule ^gallery-(.*)-(.*)-(.*)\.html$ gallery.php?id=$2&page=$3 [L]
RewriteRule ^gallery-(.*)-(.*)\.html$ gallery.php?id=$2 [L]
RewriteRule ^archive-(.*)\.html$ archive.php?page=$1 [L]
RewriteRule ^galleries-(.*)\.html$ archive.php?page=$1 [L]
RewriteRule ^content-(.*)\.html$ content.php?$1 [L]
RewriteRule ^profile-(.*)\.html$ profile.php?id=$1 [L]
RewriteRule ^images-(.*)\.html$ images.php?date=$1 [L]

Может в нем чего докрутить? 🙄

siv1987
На сайте с 02.04.2009
Offline
427
#4
Zvark:
Скрипт......

Скрипт?

awmaster08:
преобразует url картинки http://site.ru/graphic/images/2012/February/02/pic.jpg в url вида http://site.ru/image-8347583pic.jpg

Тогда я пас. Пусть ТС разбирается со скриптом.

[umka]
На сайте с 25.05.2008
Offline
456
#5

Так у вас картинки отдаются не напрямую, а скриптом. Вот и не срабатывает правило.

Делайте проверку реферера в скрипте.

Лог в помощь!
awmaster08
На сайте с 22.02.2008
Offline
155
#6

А в .htaccess который в корне нельзя ли что-нибудь дописать вроде: если ссылка вида ^image-(.*)\.jpg$ и реферер чужой запрещаем хотлинк?

siv1987
На сайте с 02.04.2009
Offline
427
#7
awmaster08:
если ссылка вида ^image-(.*)\.jpg$ и реферер чужой запрещаем хотлинк?

Можно, она входит в вашу регулярку - .*\.(gif|jpg|png)$

Только блок запрета хотлинков вставьте перед всеми реврайтами, после r-engine

awmaster08
На сайте с 22.02.2008
Offline
155
#8
siv1987:
Можно, она входит в вашу регулярку - .*\.(gif|jpg|png)$
Только блок запрета хотлинков вставьте перед всеми реврайтами, после r-engine

А код не подскажите? В .htacces полный ноль 😡

siv1987
На сайте с 02.04.2009
Offline
427
#9
awmaster08:
А код не подскажите? В .htacces полный ноль

/ru/forum/697762

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий