Tout ce qui mérite d'être su, rien qui ne le mérite pas.
Générer et stocker en toute sécurité
Générez un code de 4 à 8 chiffres côté serveur, n'en stockez que le hachage avec une courte durée de vie (5 à 10 minutes), et associez-le à l'utilisateur et au canal. Ne transmettez jamais le code au client pour comparaison ; effectuez la vérification sur le serveur. Voir /answers/what-is-otp.
Envoyer avec une solution de repli
Utilisez une voie directe et prioritaire pour l'envoi et configurez un canal de secours (appel flash, WhatsApp ou voix) afin qu'un SMS retardé ne bloque pas l'utilisateur. Consultez les pages /answers/best-channel-for-otp et /answers/sms-fallback-strategy.
Vérifier avec les limites
Vérifiez que la saisie de l'utilisateur correspond au hachage enregistré, limitez le nombre de tentatives avant d'exiger un nouvel envoi, invalidez le code en cas de succès et faites-le expirer rapidement. Voir /answers/sms-otp-best-practices.
Limitation du débit et surveillance
Limitez les requêtes par numéro et par adresse IP pour éviter l'envoi massif de SMS et surveillez les pics d'envoi vers des destinations inhabituelles. Envisagez l'authentification réseau silencieuse pour éviter tout envoi de code facturable. Consultez les pages /answers/what-is-sms-pumping et /answers/what-is-silent-network-auth.