Prérequis
- Un compte Replit
- Compréhension de base de votre langage de programmation préféré
- Familiarité avec l’espace de travail Replit
- Une application que vous développez sur Replit
Sécurité front-end
HTTPS partout
HTTPS partout
Replit utilise HTTPS par défaut pour toutes les applications. Vous n’avez donc pas à vous en préoccuper !
Validation et assainissement des entrées
Validation et assainissement des entrées
Validez et assainissez toujours les entrées utilisateur pour prévenir les attaques de type cross-site scripting (XSS) :Passez en mode Lite et demandez à Agent :
Garder les données sensibles hors du navigateur
Garder les données sensibles hors du navigateur
Protection CSRF
Protection CSRF
Mettez en place une protection contre les falsifications de requêtes intersites (CSRF) pour les formulaires :Passez en mode Lite et demandez à Agent :
Sécurité back-end
Principes fondamentaux de l'authentification
Principes fondamentaux de l'authentification
Lors de la mise en œuvre de l’authentification :
- Utilisez Replit Auth si possible
- Si vous créez une authentification personnalisée, utilisez des bibliothèques établies
- Ne stockez jamais les mots de passe en texte clair
Vérifications des autorisations
Vérifications des autorisations
Vérifiez toujours les permissions avant d’effectuer des actions :Demandez à Agent :
Protection des points de terminaison API
Protection des points de terminaison API
Sécurisez vos points de terminaison API :
- Ajoutez une authentification aux points de terminaison sensibles
- Mettez en place des paramètres CORS appropriés
- Envisagez la limitation de débit (rate limiting)
Prévention des injections SQL
Prévention des injections SQL
Agent utilise des ORM par défaut, ce qui contribue à prévenir les injections SQL. Si vous écrivez des requêtes de base de données personnalisées :
En-têtes de sécurité
En-têtes de sécurité
Ajoutez des en-têtes de sécurité importants à votre application :Vous pouvez analyser votre site sur securityheaders.com pour obtenir des recommandations.Passez en mode Lite et demandez à Agent :
Bonnes pratiques de sécurité continues
Maintenir les dépendances à jour
Maintenir les dépendances à jour
Vérifiez régulièrement les paquets obsolètes qui pourraient présenter des vulnérabilités :
Gestion appropriée des erreurs
Gestion appropriée des erreurs
N’exposez pas d’informations sensibles dans les messages d’erreur :Demandez à Agent :
Cookies sécurisés
Cookies sécurisés
Sécurité des téléchargements de fichiers
Sécurité des téléchargements de fichiers
Si votre application autorise les téléchargements de fichiers :
- Limitez les types et les tailles de fichiers
- Analysez les malwares si possible
- Stockez les fichiers dans l’espace de stockage d’objets de Replit
- Générez de nouveaux noms de fichiers plutôt que d’utiliser ceux fournis par l’utilisateur
Limitation de débit
Limitation de débit
Mettez en place une limitation de débit pour les points de terminaison API, en particulier ceux liés à l’authentification :Demandez à Agent :
Liste de contrôle
Voici un récapitulatif sous forme de liste de contrôle pour vous aider à maintenir vos bonnes pratiques de sécurité.Sécurité front-end
| Mesure de sécurité | Description | |
|---|---|---|
| ☐ | Utiliser HTTPS partout | Prévient l’espionnage de base et les attaques de l’homme du milieu |
| ☐ | Validation et assainissement des entrées | Prévient les attaques XSS en validant toutes les entrées utilisateur |
| ☐ | Ne pas stocker de données sensibles dans le navigateur | Pas de secrets dans le stockage local ou le code côté client |
| ☐ | Protection CSRF | Implémenter des jetons anti-CSRF pour les formulaires et les requêtes modifiant l’état |
| ☐ | Ne jamais exposer les clés API dans le front-end | Les identifiants API doivent toujours rester côté serveur |
Sécurité back-end
| Mesure de sécurité | Description | |
|---|---|---|
| ☐ | Principes fondamentaux de l’authentification | Utiliser des bibliothèques établies, stockage sécurisé des mots de passe (hachage+salage) |
| ☐ | Vérifications des autorisations | Toujours vérifier les permissions avant d’effectuer des actions |
| ☐ | Protection des points de terminaison API | Mettre en place une authentification appropriée pour chaque point de terminaison API |
| ☐ | Prévention des injections SQL | Utiliser des requêtes paramétrées ou des ORM, jamais du SQL brut avec des entrées utilisateur |
| ☐ | En-têtes de sécurité de base | Implémenter X-Frame-Options, X-Content-Type-Options et HSTS |
| ☐ | Protection DDoS | Utiliser un CDN ou un service cloud avec des capacités d’atténuation DDoS intégrées |
Bonnes pratiques de sécurité
| Mesure de sécurité | Description | |
|---|---|---|
| ☐ | Maintenir les dépendances à jour | La plupart des vulnérabilités proviennent de bibliothèques obsolètes |
| ☐ | Gestion appropriée des erreurs | Ne pas exposer de détails sensibles dans les messages d’erreur |
| ☐ | Cookies sécurisés | Définir les attributs HttpOnly, Secure et SameSite |
| ☐ | Sécurité des téléchargements de fichiers | Valider les types, les tailles de fichiers et rechercher du contenu malveillant |
| ☐ | Limitation de débit | Implémenter sur tous les points de terminaison API, en particulier ceux liés à l’authentification |