Каталог Apache и безопасность для изображений

По сути, все файлы в каталоге Apache недоступны, кроме изображений. Изображения должны быть доступны, но только если они загружены через веб-сайт. Если я установлю правило Apache на основе реферера, это будет очень просто обойти: http://www.mustap.com/phpzone_post_62_how-to-bypass-the-referer-se Конечно, это неправильный выбор.

Мой файл Apache Conf:

<Directory /var/www/path>
    Order allow,deny
    Deny from all
    Options -Indexes
    # Check against the referer, first level check
    SetEnvIf Referer domain1\.com domain1
    SetEnvIf Referer domain1\.com domain2
    <FilesMatch \.(jpg|jpeg|gif|png)$>
        Order deny,allow
        Deny from all
        Allow from env=domain1
        Allow from env=domain2
    </FilesMatch>
</Directory>

Как я могу решить эту проблему, не помещая изображения в БД?

Спасибо

1 ответ

Решение

Один из способов узнать наверняка - запустить все ваши изображения через скрипт PHP, который использует что-то вроде readfile() проверить запрошенное изображение и затем вывести его.

Например: site.com/image.php?name=logo.jpg

Сценарий может проверить, есть ли у пользователя сеанс на вашем сайте, если он этого не делает, то это означает, что он запрашивает изображение без предварительного просмотра сайта (если файлы cookie не отключены).

Это увеличит время загрузки, поэтому вы должны учитывать затраты / выгоды от внедрения.

Другие вопросы по тегам