![Как заблокировать посетителям сайта доступ к файлам изображений?](https://rvso.com/image/1466439/%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BF%D0%BE%D1%81%D0%B5%D1%82%D0%B8%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%20%D1%81%D0%B0%D0%B9%D1%82%D0%B0%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%BA%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%D0%BC%20%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9%3F.png)
СЦЕНАРИЙ
Я размещаю веб-сайт на сервере Apache, где изображения сохраняются в img
папке.
Я уже решил проблему доступа пользователей к папкам, которые им не предназначены, поместив некоторые index.html
файлы в такие папки.
Так, например, если пользователь зайдет в папку website.com/img/
, он будет перенаправлен в website.com
.
ПРОБЛЕМА
Я хотел бы также перенаправить пользователя, когда он получает доступ к изображению, и таким образом избежать возможности просмотра изображения и его загрузки.
Таким образом, я хотел бы перенаправить пользователя на страницу, website.com
когда он или она обращается к website.com/img/image1.jpg
.
Есть ли способ достичь этого через .htaccess
? Или есть какая-то другая возможность?
решение1
Полагаю, вы уже настроили Apache так, что доступ к изображениям закрыт?
Однако самый простой способ сделать это — создать .htaccess
в папке с изображениями:
deny from all
Когда пользователь заблокирован таким образом, он получает HTTP-Error 403
, вы можете добавить к этому скрипт, добавив .htaccess
следующее:
ErrorDocument 403 /restricted.php
В этом скрипте вы можете управлять перенаправлением:
<?php header('Location: website.com'); ?>
решение2
Используйте index.php
файл с заголовком перенаправления:
$ cat img/index.php
<?php
header('Location: /');
?>
Или используйтеhttp_redirect()функция.