From 4c2f51256f2c914a10c0c7aa59311c5862d2a480 Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Sat, 20 Jan 2018 16:20:53 +0100 Subject: htaccess: prevent accessing resources not managed by SCM See: - https://en.internetwache.org/dont-publicly-expose-git-or-how-we-downloaded-your-websites-sourcecode-an-analysis-of-alexas-1m-28-07-2015/ - https://stackoverflow.com/questions/2530372/how-do-i-disable-directory-browsing - https://httpd.apache.org/docs/current/mod/mod_rewrite.html Signed-off-by: VirtualTam --- .htaccess | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to '.htaccess') diff --git a/.htaccess b/.htaccess index 66ef8f69..19dd72a8 100644 --- a/.htaccess +++ b/.htaccess @@ -1,4 +1,12 @@ +# Disable directory listing +Options -Indexes + RewriteEngine On + +# Prevent accessing subdirectories not managed by SCM +RewriteRule ^(.git|doxygen|vendor) - [F] + +# REST API RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.php [QSA,L] -- cgit v1.2.3 From d1e8f152f6a3e7ed5df0ec7f9261d475a777d28a Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Thu, 22 Mar 2018 22:23:41 +0100 Subject: httpd: always forward the 'Authorization' header On some Apache HTTPD setups where the CGI/FastCGI mode is used, the HTTP header containing the JWT token is not forwarded, which results in the following error when attempting to use the REST API: "401 Not authorized: JWT token not provided" This patch allows forwarding the 'Authorization' header. An alternative would be to use the `CGIPassAuth` directive to allow all authorization headers to be forwarded. See: - https://secure.php.net/manual/en/features.http-auth.php#114877 - https://stackoverflow.com/questions/26475885/authorization-header-missing-in-php-post-request - https://stackoverflow.com/questions/13387516/authorization-header-missing-in-django-rest-framework-is-apache-to-blame - https://stackoverflow.com/questions/17018586/apache-2-4-php-fpm-and-authorization-headers - https://httpd.apache.org/docs/2.4/en/mod/core.html#cgipassauth Signed-off-by: VirtualTam --- .htaccess | 4 ++++ 1 file changed, 4 insertions(+) (limited to '.htaccess') diff --git a/.htaccess b/.htaccess index 19dd72a8..7ba4744b 100644 --- a/.htaccess +++ b/.htaccess @@ -6,6 +6,10 @@ RewriteEngine On # Prevent accessing subdirectories not managed by SCM RewriteRule ^(.git|doxygen|vendor) - [F] +# Forward the "Authorization" HTTP header +RewriteCond %{HTTP:Authorization} ^(.*) +RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] + # REST API RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d -- cgit v1.2.3