Content-Security-Policy "img-src 'self'"

Директива Content-Security-Policy с img-src 'self', ограничивает источники, откуда браузер может загружать изображения. Она разрешает загрузку изображений только с текущего домена и запрещает использование любых сторонних ресурсов.

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

Варианты решения
  1. Разрешить загрузку изображений с собственного домена и динамически генерируемых страниц:
    Вместо строгого ограничения 'self', можно разрешить загрузку изображений с конкретного маршрута, где расположен твой скрипт.
    add_header Content-Security-Policy "img-src 'self' data: blob:";

    Или
    add_header Content-Security-Policy "img-src 'self' http://yourdomain.com";
  2. Использовать CSP уровня "unsafe-inline":
    Если ты доверяешь своему контенту и источникам, можно временно ослабить политику:
    add_header Content-Security-Policy "img-src *";

    Но это снижает безопасность, так что лучше избегать такого подхода.
  3. Отключить CSP для определенных маршрутов:
    Если нужно отключить CSP только для определенного раздела сайта, можно использовать отдельные блоки location:
    location /images/ {
        add_header Content-Security-Policy "";
    }

Итоговая конфигурация:
Рекомендуемая настройка, позволяющая загружать изображения с текущего домена и обеспечивая базовую защиту:
server {
    listen 80;
    server_name example.com;

    root /var/www/html;

    location ~* ^/images/(.+)$ {
        rewrite ^/images/(.*)$ /show-image.php?img=$1 last;
    }

    # Конфигурация для обработки PHP-файлов
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }

    # Настройка Content Security Policy
    add_header Content-Security-Policy "img-src 'self'";
}

Такая конфигурация обеспечит баланс между безопасностью и функциональностью, позволяя поисковикам индексировать изображения, сохраняя базовые меры защиты.
Автор:  15.10.2025 01:14:58 pm