Как сделать, чтобы htaccess перенаправлял при прямом доступе к изображениям при одновременном разрешении встраивания - PullRequest
2 голосов
/ 30 ноября 2010

Сценарий выглядит следующим образом, скажем, у меня есть сайт, который содержит несколько изображений. Я хочу разрешить людям встраивать их в свой сайт, но я также хочу перенаправлять, когда кто-либо пытается получить прямой доступ к изображению.

Один вариант это

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?imgzzz.com/.*$ [NC]
RewriteRule i/image_(\d+)\.(jpg|gif) - [F]

, который запрещает доступ из любого места, кроме сайта, но не позволяет встраивать изображение.

Второй вариант - пропустить второй RewriteCond, оставив только

RewriteCond %{HTTP_REFERER} !^$
RewriteRule i/image_(\d+)\.(jpg|gif) - [F]

Что позволяет встраивать, но пользователь все равно может получить доступ к изображению, если он приходит из любой точки, кроме закладки.

Есть ли способ сделать встраивание доступным и одновременно выполнить перенаправление при прямом доступе к изображению?

Ответы [ 2 ]

2 голосов
/ 01 декабря 2010

Вот решение

RewriteCond %{HTTP_REFERER} !^http://(www\.)?imgzzz.com/.*$ [NC]
RewriteRule i/image_(\d+)\.(jpg|jpeg|gif) pic/$1 [L]
1 голос
/ 30 ноября 2010

Нет. Это просто запрос к URI, будь то часть страницы или доступ к ней напрямую, сервер не видит абсолютно никакой разницы.

Ну-ну, ладно, я полагаю, что теоретически, возможно, вы могли бы совершить какую-нибудь сумасшедшую хакерскую работу с php и javascript, но я не вижу, чтобы это стоило хлопот, и это также не будет надежным. Опять же, это просто запрос, и вы не можете понять, как он возник. Это также нарушило бы способ просмотра некоторых людей, то есть людей, которым нравится открывать изображения в новых окнах и т. Д. Я предполагаю, что знаю, чего бы вы хотели достичь (вместо изображения вы бы хотели разместить страницу с некоторыми данными вместе с изображением, чтобы сделать контент и ваш сайт более заметным), и я склонен согласиться, что это верная идея, но поисковые системы изображений уже делают эти вещи.

Если бы мне пришлось выбирать, я бы выбрал второй вариант, он достаточно разрешителен для нормального просмотра и запретил бы внешние ссылки на изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...