Защита изображений от использования на сторонних сайтах
Roffun |
|
---|---|
Вижу что многие интересуются возможностью ставить водяные знаки на изображения. Главная проблема часто возникает когда сайт находится на сервере nginx а не apache. Я с этим вопросом сам сталкивался не раз. Сервер nginx обрабатывает изображения по своим правилам. Поэтому если используется обращение через .htaccess, например: <FilesMatch "\.(gif|jpg|JPG|png)$"> RewriteEngine On RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.*)$ /watermark.php [T=application/x-httpd-php,L,QSA] </FilesMatch> , водяной знак может не появляться, так как правило обработки не действует. В таком случае достаточно было обратиться к хостеру, и попросить включить в настройках перенаправление обработки правил на apache , после чего вышеуказанные варианты срабатывают. Другой вариант в таком случае - явный вызов изображений через соответствующий файл, тогда изображения имеют пути вида: <img src="watermark.php?image=****" alt=""> Минус такого варианта - изображения можно скачать без водяного знака, с таким же успехом можно было через js водяной знак наложить налету, он тоже не пометит их при скачивании. В первом варианте изображения скачиваются с водяным знаком, так как обработка происходит налету средствами сервера, но для него нужен apache. #41181 Macik: Третий вариант - использовать расширения движка, которые обрабатывают изображения при загрузке. Для этих целей как раз отлично подходит модуль file, как выше рекомендовал Macik (). Если правильно настроить, то и водяные знаки будут, и сервер не напрягает лишними обращениями. Я в последнее время на всех проектах использую именно этот вариант, и вообще давно использую модуль file , отличное решение. И еще один очень важный момент при наложении водяных знаков с помошью модуля file - это то, что в любой момент их можно удалить/изменить, глобально. Обрабатываются также изображения - аватары пользователей. Нужно лишь правильно настроить изначально, и все. Но для настроек имеется подробное описание api.
Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
|
This post was edited by Roffun (2016-02-20 19:59, 8 years ago) |