URL にメディア フォルダーがありexample.com/media/
、サーバーでスクリプトを実行しているユーザーを拒否したいと考えています。私のサーバーアプリはnginxであり、書き込み可能なディレクトリ内でスクリプトの実行を拒否する方法では、特定のURLについて特別なものを見つけることができませんでした. これは私のnginxサーバー構成です:
# sites-avalaible/default
server {
listen 80;
listen 443 ssl;
server_name www.example.com example.com;
ssl_certificate /var/www/example/ssl/ssl.crt;
ssl_certificate_key /var/www/example/ssl/ssl.key;
location /static {
alias /var/www/example/static;
expires 7d;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location /media {
alias /var/www/example/media;
# limit download speed after 5mb download
limit_rate_after 5m;
limit_rate 120k;
limit_req zone=lh burst=5 nodelay;
}
location / {
proxy_pass http://127.0.0.1:8000;
}
}
ユーザーがファイルをサーバーにアップロードできるメディア URL で実行可能なものを実行することを拒否したい。どうやってやるの?たとえば、ユーザーがexample.com/media/bomb.py
nginx に移動すると、404 エラー ページが返されます。メディア フォルダーの実行権限も変更しましたが、スクリプト ファイルの表示を停止するには、nginx に対して行う必要があります。