FrançaisEnglish

Sinatra SSM

Bibliothèque Ruby de gestion de sessions pour Sinatra.

Mise en contexte

SSM (Session Storage Management) est une bibliothèque Ruby qui gère le stockage des sessions par cookies dans une application Sinatra.

Technologies et outils utilisés

Fonctionnalités principales

  • Sessions par cookies
  • API de session
  • Protection CSRF
  • Rotation des sessions
  • bcrypt

Une API de session utilisable dans les styles classic et modular de Sinatra, avec protection CSRF, rotation des sessions et bcrypt pour les mots de passe.

Durcissement des comptes

  • Verrouillage après échecs
  • Politique de mot de passe
  • Cookies httponly & secure
  • Stockage thread-safe

Le compte se verrouille quinze minutes après cinq échecs, et le mot de passe exige douze caractères avec majuscule, chiffre et caractère spécial.

Défis rencontrés

  • Maîtriser le cycle de vie des cookies HTTP et leurs contraintes côté client.
  • Sécuriser les sessions avec bcrypt et un verrouillage de compte après échecs répétés.
  • Gérer la concurrence sur un stockage partagé, pour que deux requêtes simultanées n'entrent pas en conflit.
  • Documenter l'API pour qu'elle soit utilisable sans lire le code source.

Code source

github.com/HydroshieldMKII/Sinatra-SSM

Voir le dépôt