diff --git a/.htaccess.sample b/.htaccess.sample new file mode 100644 index 0000000..a7920f5 --- /dev/null +++ b/.htaccess.sample @@ -0,0 +1,52 @@ +RewriteEngine On + +# ====================== +# SÉCURITÉ +# ====================== + +# Bloquer l'accès aux fichiers de configuration + + Require all denied + + +# Protéger les répertoires sensibles +RewriteRule ^(includes|cache|docs)/ - [F,L] + +# Bloquer les fichiers samples et backups + + Require all denied + + +# Empêcher l'exploration des répertoires +Options -Indexes + +# Bloquer l'accès aux fichiers cachés + + Require all denied + + +# ====================== +# RÉÉCRITURE D'URL +# ====================== + +# Masquer l'extension .php +RewriteCond %{REQUEST_FILENAME} !-d +RewriteCond %{REQUEST_FILENAME} !-f +RewriteRule ^([^\.]+)$ $1.php [NC,L] + +# Rediriger les URLs avec .php vers les URLs sans extension +RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC] +RewriteRule ^ /%1 [NC,L,R=301] + +# Pour accéder à page.php via /page +RewriteCond %{REQUEST_FILENAME}.php -f +RewriteRule ^([^/]+)$ $1.php [L] + +# ====================== +# HTTPS +# ====================== + +# Force HTTPS +RewriteCond %{HTTP:X-Forwarded-Proto} !https +RewriteCond %{HTTPS} !on +RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] diff --git a/README.md b/README.md index 012ed22..3d712ec 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ kaubuntu.re est une interface web responsive qui permet de consulter et recherch ├── sitemap.xml.sample # Exemple de sitemap ├── robots.txt.sample # Exemple de robots.txt ├── mentions-legales.php.sample # Exemple de mentions légales +├── .htaccess.sample # Exemple de configuration Apache sécurisée └── README.md ``` @@ -72,6 +73,7 @@ kaubuntu.re est une interface web responsive qui permet de consulter et recherch 1. 📥 Clonez ce dépôt 2. 🔧 Configurez votre serveur web (Apache, Nginx, etc.) pour pointer vers le répertoire racine 3. 🔒 **Important :** Assurez-vous que votre serveur supporte HTTPS (requis pour PWA) +4. 🛡️ **Configuration Apache sécurisée :** Copiez `.htaccess.sample` vers `.htaccess` pour une configuration sécurisée ## ⚙️ Configuration @@ -138,6 +140,24 @@ Les fichiers `sitemap.xml`, `robots.txt`, `site.webmanifest` et `mentions-legale Ces fichiers sont listés dans le `.gitignore` afin que vos modifications ne soient pas suivies par Git, ce qui vous permet de personnaliser votre instance sans affecter le code source principal. +## 🛡️ Configuration de sécurité Apache + +Le fichier `.htaccess.sample` fourni inclut des règles de sécurité importantes pour protéger votre installation : + +### Protections incluses : +- 🚫 **Blocage des fichiers de configuration** : Empêche l'accès direct aux fichiers `.php`, `.config`, etc. +- 🔒 **Protection des répertoires sensibles** : Bloque l'accès aux dossiers `/includes/`, `/cache/`, `/docs/` +- 🗂️ **Désactivation de l'exploration** : Empêche la liste des fichiers dans les répertoires +- 🔐 **Blocage des fichiers cachés** : Protège les fichiers commençant par `.` +- 📄 **Blocage des fichiers temporaires** : Empêche l'accès aux `.sample`, `.bak`, `.log`, etc. + +### Installation : +```bash +cp .htaccess.sample .htaccess +``` + +**⚠️ Important :** Cette configuration est essentielle pour la sécurité de votre installation. Ne pas l'utiliser expose vos fichiers de configuration aux visiteurs. + ## 📱 Progressive Web App (PWA) Cette plateforme est une PWA complète offrant :