Puncte:0

Setări pentru zona de stocare privată a fișierelor în Drupal 9.3 ($settings['file_private_path'] =)

drapel de
Abe

Folosesc Drupal 9.3 și am creat un folder privat în afara directorului rădăcină. Am urmarit documentatia [legătură] și am adăugat următoarea linie în fișierul meu settings.php în drupal:

$settings['file_private_path'] = '../private';

Fișierul privat există în afara directorului meu rădăcină web, după cum urmează: /var/www/example.com/private cu rădăcină web în/var/www/example.com/html.

Folosesc nginx și vreau să mă asigur că am securizat corect fișierul privat. Pentru a face acest lucru, am adăugat acest bloc:

locație ^~ {
    intern;
    alias /var/www/example.com/private;
}

Este corect și am securizat corect fișierul/folderul privat? Documentația menționează asta: Rețineți că serverele web non-Apache pot avea nevoie de configurare suplimentară pentru a securiza directoarele de fișiere private.

Gazda mea virtuală Nginx completă (adică fișierul de configurare) este mai jos:

Server {
    rădăcină /var/www/example.com/html;
    index index.html index.htm index.nginx-debian.html index.php;
    nume_server example.com www.example.com;
    Locație / {
        try_files $uri $uri/ /index.php?$args;
    }
    locație = /favicon.ico { log_not_found off; access_log off; }
        locație = /robots.txt { log_not_found off; access_log off; permite tuturor; }
        locație ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expira max;
        log_not_found off;
        }

    # treceți scripturile PHP către serverul FastCGI
    #
    locație ~ \.php$ {
        try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }

    # interzice accesul la fișierele .htaccess, dacă rădăcina documentului Apache
    # de acord cu cel al lui nginx
    #
    locație ~ /\.ht {
        nega totul;
    }
    locație ^~ {
        intern;
        alias /var/www/example.com/private;
    }

    asculta [::]:443 ssl ipv6only=on; # gestionat de Certbot
    asculta 443 ssl; # gestionat de Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # gestionat de Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # gestionat de Certbot
    includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot

}

Server {
    dacă ($gazdă = exemplu.com) {
        returnează 301 https://$host$request_uri;
    } # gestionat de Certbot


    asculta 80 ;
    asculta [::]:80 ;

    nume_server example.com www.example.com;
    întoarce 404; # gestionat de Certbot


}
Puncte:1
drapel de
Abe

După o testare amănunțită, pot confirma că în această situație nu este necesar să adăugați un bloc pentru a restricționa accesul la fișierul privat deoarece accesul a fost deja restricționat și returnat 404. În cazul în care doriți totuși să adăugați un bloc pentru a restricționa accesul la acest folder privat așa cum este descris mai sus, am testat cel de mai jos și a funcționat. Puteți folosi fie rădăcină sau alias si ambele au functionat:

## Acces securizat la fișierele private
    locație ^~ /privat {
# alias /var/www/example.com; ## Funcționează și această opțiune
    rădăcină /var/www/example.com;
    intern;
    }

Acest lucru ar trebui eliminat din blocul de mai sus, deoarece este incorect și nu a avut niciun efect:

locație ^~ {
        intern;
        alias /var/www/example.com/private;
    }

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.