Вопрос или проблема
У нас есть большой сайт на WordPress с тысячами отзывов и изображений.
По соображениям безопасности и авторского права мы хотели бы скрыть или замаскировать прямую ссылку на используемые изображения, чтобы краулеры/боты не могли увидеть прямые ссылки в исходном коде.
Я уже пробовал wp hide и security enhancer, которые только изменяют местоположение файла (используя переписывание), и при переходе по ссылке изображение просто находится по указанному измененному местоположению. Что мы хотели бы получить, так это чтобы текст с фактической ссылкой при просмотре исходного кода пропал.
Таким образом, это:
<img class="entry-thumb" src="https://staging.site.be/wp-content/uploads/2021/04/3d16670b-cae5-4baa-89e6-de6dafdd76de-150x150.jpg" alt="" title="Tourist LeMC :: Niemandsland" width="150" height="150">
превращается во что-то вроде этого:
<img class="entry-thumb" src="/other/imgpath/img.php?.....> alt="" title="Tourist LeMC :: Niemandsland" width="150" height="150">
Возможно ли это каким-либо образом в WordPress и если да, то как мне поступить?
Я не верю, что это возможно. Изображения являются “заменяющими элементами”, генерируемыми браузером. Они не находятся В html, они вызываются из html. Если ссылка неправильная, изображение никогда не отобразится. Если ссылка правильная, изображение отобразится… но будет доступно посетителю.
Другими словами, если вы собираетесь размещать изображения в интернете, люди смогут их украсть. Единственный способ обойти это, о котором я знаю, – это использовать и вызывать изображения там.
Ответ или решение
Как скрыть или замаскировать URL изображений в WordPress
Обеспечение безопасности и защиты авторских прав на изображения является важной задачей для владельцев крупных сайтов, особенно на платформе WordPress, где содержатся тысячи отзывов и связанных с ними изображений. В данной статье мы рассмотрим рынки подходы и решения, которые помогут скрыть или замаскировать прямые ссылки на изображения, чтобы минимизировать риски их копирования и автоматизированного извлечения.
1. Понимание проблемы
Когда браузер получает HTML-код страницы, он интерпретирует его и загружает изображения через ссылки, указанные в теге <img>
. Если изображение доступно по прямому URL, оно может быть легко скопировано или использовано без согласия владельца. Поэтому законная необходимость скрыть эти ссылки становится актуальной.
2. Возможные решения
Несмотря на то что осуществить полное скрытие прямого URL изображения может быть сложной задачей, есть несколько подходов, которые могут помочь в этом:
2.1 Использование PHP для динамического создания ссылок на изображения
Вы можете создать специальный PHP-скрипт, который будет служить прокси-сервером для изображений. Примерный код может выглядеть следующим образом:
// Файл img.php
<?php
$image_path = $_GET['img'];
$file_path = '/path/to/uploads/' . basename($image_path); // Защита от обхода
if(file_exists($file_path)) {
header('Content-Type: image/jpeg'); // Укажите правильный тип
readfile($file_path);
exit;
} else {
http_response_code(404);
exit;
}
?>
Теперь, вместо прямого URL на изображение, вы будете использовать:
<img class="entry-thumb" src="/other/imgpath/img.php?img=3d16670b-cae5-4baa-89e6-de6dafdd76de-150x150.jpg" alt="" width="150" height="150">
Этот подход позволяет скрывать директорию и делать доступ к изображениям через контролируемый скрипт.
2.2 Внедрение механизма защиты водяными знаками
Кроме замены ссылок, вы можете наложить водяные знаки на изображения для дополнительных мер защиты. Это не предотвратит доступ к изображению, но сделает его менее привлекательным для использования без разрешения.
2.3 Использование CDN с защитой Hotlinking
Если вы используете Content Delivery Network (CDN), установите правила защиты hotlinking. Это позволит запретить прямое извлечение изображений с вашего сайта через другие сайты, тем самым минимизировав риск кражи контента.
3. Что стоит учесть
Следует помнить, что никакие методы не могут гарантировать абсолютную защиту контента. Каждый подход имеет свои плюсы и минусы:
- PHP-прокси: Это может повлиять на производительность из-за дополнительной нагрузки на сервер.
- Водяные знаки: Это может снизить эстетическую привлекательность изображений.
- CDN-защита: Это может потребовать дополнительной настройки и подписки.
4. Заключение
Хотя полностью скрыть URL изображений невозможно, использование подходов как динамические ссылки через PHP-скрипты и защита водяными знаками могут значительно усложнить процесс несанкционированного использования ваших изображений. Регулярный анализ и обновление стратегий защиты поможет обеспечить безопасность контента сайта на протяжении долгого времени. Поддерживайте высокую степень осведомленности о новых решениях в области защиты авторских прав по мере развития технологий и угроз.