Я тестирую свой новый веб-сайт и использую его еженедельно для создания полезной нагрузки php. Я вручную помещаю его в изображения, где пользователи смогут загружать изображения на мой сайт. Я могу установить обратное соединение с полезными данными в /images
. Можно ли сказать, что nginx и / или php не должны интерпретировать команды, поступающие из каталога / images? Кроме правильного [1] кодирования механизма безопасного ввода с проверкой файлов, есть ли что-то еще, что мы можем сделать, чтобы предотвратить выполнение полезных нагрузок в определенных (/ images) каталогах?
[1] https://php.earth/doc/security/uploading
user www-data;
worker_processes auto;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
charset utf-8;
server_tokens off;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Frame-Options DENY;
add_header Referrer-Policy "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Pragma public;
add_header Cache-Control "public";
include /etc/nginx/conf.d/*.conf;
gzip on;
gzip_comp_level 2;
gzip_min_length 1000;
server {
listen 127.0.0.1:80;
server_name website.com;
root /var/www/website/;
index index.php index.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
location ~* .(png|ico|gif|jpg|jpeg|css|html|txt|php)$ {
expires 2d;
add_header Pragma public;
add_header Cache-Control "public";
}
if ($request_method !~ ^(GET|POST)$) {
return 444;
}
}
}