feat(securite): en-tetes HTTP, trust proxies et configuration de production durcie
- middleware SecurityHeaders (HSTS, CSP, X-Frame-Options, etc.) - trustProxies pour le reverse proxy Nginx Proxy Manager - .env.production.example (APP_DEBUG=false, sessions chiffrees, cookies Secure) - politique de securite SECURITY.md Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# ══════════════════════════════════════════════════════════════
|
||||
# CESIZen — Modèle de configuration PRODUCTION
|
||||
# Copier en `.env` sur le serveur puis renseigner les valeurs.
|
||||
# ⚠️ Ne JAMAIS committer le .env réel (secrets, clés, mots de passe).
|
||||
# ══════════════════════════════════════════════════════════════
|
||||
|
||||
APP_NAME=CESIZen
|
||||
APP_ENV=production
|
||||
APP_KEY= # généré via `php artisan key:generate`
|
||||
APP_DEBUG=false # JAMAIS true en production (fuite d'infos)
|
||||
APP_URL=https://cesizen.sam-coffre.duckdns.org
|
||||
|
||||
APP_LOCALE=fr
|
||||
APP_FALLBACK_LOCALE=fr
|
||||
APP_FAKER_LOCALE=fr_FR
|
||||
|
||||
# ── Journalisation ────────────────────────────────────────────
|
||||
LOG_CHANNEL=stack
|
||||
LOG_STACK=daily # rotation quotidienne des logs
|
||||
LOG_LEVEL=warning # on ne loggue pas le debug en prod
|
||||
|
||||
# ── Base de données (MySQL/MariaDB en production) ─────────────
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=cesizen-db
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=cesizen
|
||||
DB_USERNAME=cesizen_app # compte applicatif à privilèges limités
|
||||
DB_PASSWORD= # mot de passe fort (gestionnaire de secrets)
|
||||
|
||||
# ── Sessions & cookies (durcissement) ─────────────────────────
|
||||
SESSION_DRIVER=database
|
||||
SESSION_LIFETIME=120
|
||||
SESSION_ENCRYPT=true # chiffrement des données de session
|
||||
SESSION_SECURE_COOKIE=true # cookie envoyé uniquement en HTTPS
|
||||
SESSION_HTTP_ONLY=true # cookie inaccessible au JavaScript (anti-XSS)
|
||||
SESSION_SAME_SITE=lax # protection CSRF renforcée
|
||||
|
||||
# ── Sécurité mots de passe ────────────────────────────────────
|
||||
BCRYPT_ROUNDS=12 # coût du hachage bcrypt
|
||||
|
||||
# ── Cache / File d'attente ────────────────────────────────────
|
||||
CACHE_STORE=database
|
||||
QUEUE_CONNECTION=database
|
||||
FILESYSTEM_DISK=local
|
||||
|
||||
# ── Mail (notifications, réinitialisation de mot de passe) ────
|
||||
MAIL_MAILER=smtp
|
||||
MAIL_HOST=
|
||||
MAIL_PORT=587
|
||||
MAIL_USERNAME=
|
||||
MAIL_PASSWORD=
|
||||
MAIL_FROM_ADDRESS="no-reply@cesizen.fr"
|
||||
MAIL_FROM_NAME="${APP_NAME}"
|
||||
|
||||
VITE_APP_NAME="${APP_NAME}"
|
||||
Reference in New Issue
Block a user