php-pm / php-pm-docker

Docker files for PHP-PM
119 stars 26 forks source link

nginx docker - php files are downloaded not executed. #12

Open nikos-glikis opened 6 years ago

nikos-glikis commented 6 years ago

Visiting a .php url results in downloading the file instead of running it.

How to reproduce:

#installed symfony cli tool:
sudo mkdir -p /usr/local/bin
sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
sudo chmod a+x /usr/local/bin/symfony

#create a new symfony 3.4 project:
symfony new blog 3.4
cd blog
composer install --prefer-dist

#run ppm-nginx docker
docker run -v `pwd`:/var/www -p 8080:80 phppm/nginx

#visit .php file:
http://localhost:8080/web/app.php

This results in downloading the .php file and not running the code.

At least we should block downloading of .php and other relevant types. Ideally we should be able to run them.

Thanks

marcj commented 6 years ago

We should forbid them, not running them.

nikos-glikis commented 6 years ago

So something like

location ~\.(php|php3|php4|php5|php7|phtml|inc)$ {
     deny all;
     error_page 403 =404 / ;
 }

In the nginx conf or do you have anything else in mind ?