Voici les protections mises en place dans Caldeco.
Hachage des mots de passe
Les mots de passe ne sont jamais enregistrés en clair : ils sont hachés avec scrypt et un sel aléatoire propre à chaque mot de passe. À la création et au changement, une longueur de 12 à 128 caractères est exigée.
Validation des comptes et droits d’accès
Un nouveau compte reste inutilisable jusqu’à son approbation par le super admin. Le serveur contrôle les droits à chaque action : administration, modification ou suppression d’un événement, accès aux données et aux images. Dans les collections des copains, le texte des enseignements que vous n’avez pas reçus reste verrouillé côté serveur et n’est pas envoyé au navigateur.
Protection contre le spam d’inscriptions
Des quotas temporaires par adresse réseau et pour l’ensemble du site freinent les demandes répétées, même depuis plusieurs adresses. Le nombre de comptes en attente est plafonné. Un champ invisible aide à repérer les robots ; les doublons d’adresse et de pseudo sont refusés. Les quotas persistent après un redémarrage et les créations simultanées sont contrôlées en transaction.
Limitation des tentatives et des abus
Les essais de connexion sont limités par adresse réseau et par identifiant. La récupération de compte, les changements de profil et la création d’événements sont également limités. Les identifiants incorrects renvoient un même message d’erreur.
Sessions protégées
Les sessions utilisent des jetons aléatoires dont seule l’empreinte est conservée en base. Elles expirent après sept jours. Le cookie est HttpOnly et SameSite=Lax ; il est aussi Secure en configuration HTTPS. La déconnexion, la désactivation d’un compte et la réinitialisation du mot de passe révoquent les sessions concernées.
Protection contre les requêtes frauduleuses
Les requêtes qui modifient des données doivent provenir de l’origine configurée et porter un en-tête spécifique. Une session connectée doit aussi fournir son jeton anti-CSRF.
Validation des données et prévention des injections
Les saisies sont contrôlées côté serveur et les requêtes SQL utilisent des paramètres. Les textes des utilisateurs sont échappés avant leur affichage ; une politique CSP restreint les ressources et scripts autorisés.
Contrôle des images
Seuls les formats JPG, PNG et WebP décodables sont acceptés, avec des limites de taille et de dimensions : 2 Mo pour un profil, 5 Mo pour un événement et 20 mégapixels maximum. Les images sont redimensionnées et réencodées en JPEG sans leurs métadonnées d’origine, avec un nom aléatoire. Elles sont réservées aux membres approuvés et actifs.
Récupération de compte encadrée
Le super admin peut générer un lien de réinitialisation personnel. Son jeton est conservé sous forme d’empreinte, expire après une heure et ne peut être utilisé qu’une seule fois.
Protections du navigateur
Des en-têtes interdisent l’intégration dans une page tierce, empêchent la détection hasardeuse des types de fichiers et désactivent caméra, microphone et géolocalisation. Les réponses demandent de ne pas être mises en cache et n’envoient pas de référent aux autres sites.
HTTPS sur l’hébergement
Le chiffrement des échanges dépend de l’activation de HTTPS sur l’hébergement. En configuration HTTPS, Caldeco active le cookie Secure et l’en-tête HSTS.
Ressources locales
L’interface ne charge pas de polices, scripts ou images depuis des services tiers et n’intègre pas de traceur publicitaire.