From 0b7e26c1bf6bc7a684eb3a214d92d3927306cd8a Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 16 May 2016 02:56:42 -0400
Subject: [PATCH] Update changelog

---
 .htaccess |   95 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 66 insertions(+), 29 deletions(-)

diff --git a/.htaccess b/.htaccess
index a30369d..e204f42 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,41 +1,43 @@
-# AddDefaultCharset	UTF-8
-AddType text/x-component .htc
-
 <IfModule mod_php5.c>
-php_flag	display_errors	Off
-php_flag	log_errors	On
-php_value	error_log	logs/errors
+php_flag    display_errors  Off
+php_flag    log_errors      On
+# php_value    error_log    logs/errors
 
-php_value	upload_max_filesize	5M
-php_value	post_max_size		6M
-php_value	memory_limit		64M
+php_value   upload_max_filesize   5M
+php_value   post_max_size         6M
+php_value   memory_limit          64M
 
-php_value	zlib.output_compression		Off
-php_value	magic_quotes_gpc		0
-php_value	zend.ze1_compatibility_mode	0
-php_value 	suhosin.session.encrypt 	Off 
+php_flag    register_globals            Off
+php_flag    zlib.output_compression     Off
+php_flag    magic_quotes_gpc            Off
+php_flag    magic_quotes_runtime        Off
+php_flag    suhosin.session.encrypt     Off
 
-php_value	session.auto_start	0
-php_value	session.gc_maxlifetime	21600
-php_value	session.gc_divisor	500
-php_value	session.gc_probability	1
-
-# http://bugs.php.net/bug.php?id=30766
-php_value	mbstring.func_overload	0
+#php_value   session.cookie_path     /
+#php_value   session.hash_function   sha256
+php_flag    session.auto_start       Off
+php_value   session.gc_maxlifetime   21600
+php_value   session.gc_divisor       500
+php_value   session.gc_probability   1
 </IfModule>
 
 <IfModule mod_rewrite.c>
+Options +FollowSymLinks
 RewriteEngine On
-RewriteRule ^favicon.ico$ skins/default/images/favicon.ico
+RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
+
+# security rules:
+# - deny access to files not containing a dot or starting with a dot
+#   in all locations except installer directory
+RewriteRule ^(?!installer|\.well-known\/|[a-zA-Z0-9]{16})(\.?[^\.]+)$ - [F]
+# - deny access to some locations
+RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F]
+# - deny access to some documentation files
+RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml|Dockerfile)$ - [F]
 </IfModule>
 
 <IfModule mod_deflate.c>
 SetOutputFilter DEFLATE
-</IfModule>
-
-<IfModule mod_headers.c>
-# replace 'append' with 'merge' for Apache version 2.2.9 and later
-Header append Cache-Control public env=!NO_CACHE
 </IfModule>
 
 <IfModule mod_expires.c>
@@ -43,7 +45,42 @@
 ExpiresDefault "access plus 1 month"
 </IfModule>
 
-FileETag MTime
+FileETag MTime Size
 
-Order deny,allow
-Allow from all
+<IfModule mod_autoindex.c>
+Options -Indexes
+</ifModule>
+
+<IfModule mod_headers.c>
+# replace 'append' with 'merge' for Apache version 2.2.9 and later
+#Header append Cache-Control public env=!NO_CACHE
+
+# Optional security header
+# Only increased security if the browser support those features
+# Be careful! Testing is required! They should be adusted to your intallation / user environment
+
+# HSTS - HTTP Strict Transport Security
+#Header always set Strict-Transport-Security "max-age=31536000; preload" env=HTTPS
+
+# HPKP - HTTP Public Key Pinning
+# Only template - fill with your values
+#Header always set Public-Key-Pins "max-age=3600; report-uri=\"\"; pin-sha256=\"\"; pin-sha256=\"\"" env=HTTPS
+
+# X-Xss-Protection
+# This header is used to configure the built in reflective XSS protection found in Internet Explorer, Chrome and Safari (Webkit). 
+#Header set X-XSS-Protection "1; mode=block"
+
+# X-Frame-Options
+# The X-Frame-Options header (RFC), or XFO header, protects your visitors against clickjacking attacks
+# Already set by php code! Do not activate both options
+#Header set X-Frame-Options SAMEORIGIN
+
+# X-Content-Type-Options
+# It prevents Google Chrome and Internet Explorer from trying to mime-sniff the content-type of a response away from the one being declared by the server.
+#Header set X-Content-Type-Options: "nosniff"
+
+# CSP - Content Security Policy
+# for better privacy/security ask browsers to not set the Referer
+# more flags for script, stylesheets and images available, read RFC for more information
+#Header set Content-Security-Policy "referrer no-referrer"
+</IfModule>

--
Gitblit v1.9.1