mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-06-08 11:41:34 +00:00
Block access to all php and phar files that are uploaded into the media folder
This commit is contained in:
parent
c2ec0ee12b
commit
6e5d1c967f
5 changed files with 29 additions and 1 deletions
|
|
@ -51,5 +51,9 @@
|
|||
# Disable Topics tracking if not enabled explicitly: https://github.com/jkarlin/topics
|
||||
header ?Permissions-Policy "browsing-topics=()"
|
||||
|
||||
# Prevent PHP execution in the media upload directory
|
||||
@php_in_media path_regexp (?i)^/media/.*\.(php[3-8]?|phar|phtml|pht|phps)$
|
||||
respond @php_in_media 403
|
||||
|
||||
php_server
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,14 @@
|
|||
AllowOverride All
|
||||
</Directory>
|
||||
|
||||
# Prevent PHP execution in the media upload directory (server-level, not .htaccess,
|
||||
# because public/media is a Docker volume and .htaccess there may not be present)
|
||||
<Directory /var/www/html/public/media>
|
||||
<FilesMatch "(?i)\.(php[3-8]?|phar|phtml|pht|phps)$">
|
||||
Require all denied
|
||||
</FilesMatch>
|
||||
</Directory>
|
||||
|
||||
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
|
||||
# error, crit, alert, emerg.
|
||||
# It is also possible to configure the loglevel for particular
|
||||
|
|
|
|||
|
|
@ -52,6 +52,11 @@ server {
|
|||
location ~ \.php$ {
|
||||
return 404;
|
||||
}
|
||||
|
||||
# Prevent PHP execution in the media upload directory
|
||||
location ~* ^/media/.*\.(php[3-8]?|phar|phtml|pht|phps)$ {
|
||||
return 403;
|
||||
}
|
||||
|
||||
# Set Content-Security-Policy for svg files, to block embedded javascript in there
|
||||
location ~* \.svg$ {
|
||||
|
|
|
|||
3
public/media/.gitignore
vendored
3
public/media/.gitignore
vendored
|
|
@ -1,3 +1,4 @@
|
|||
# Ignore everything except this .gitignore
|
||||
*
|
||||
!.gitignore
|
||||
!.gitignore
|
||||
!.htaccess
|
||||
|
|
|
|||
10
public/media/.htaccess
Normal file
10
public/media/.htaccess
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# Deny access to PHP and PHP-like files to prevent remote code execution
|
||||
<FilesMatch "(?i)\.(php[3-8]?|phar|phtml|pht|phps)$">
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order deny,allow
|
||||
Deny from all
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
Loading…
Add table
Add a link
Reference in a new issue