Je réfléchis actuellement à un projet, mais je ne sais pas s'il existe un projet mature similaire.
1. Première vérification de l'utilisateur
2. Créez un fichier nommé avec la valeur du jeton dans le répertoire de jetons spécifié
3. Renvoyez le jeton à l'utilisateur pour l'enregistrer
4. 404 Fin : traitement logique en jugeant si le fichier existe.
Le paramètre de sécurité qui me vient à l'esprit est d'interdire aux robots d'exploration d'explorer le répertoire et de surveiller le nombre de connexions utilisateur au répertoire pour empêcher le piratage par force brute.
Y a-t-il des bugs ou des problèmes de performances avec cette méthode
Ou y a-t-il un problème ? une meilleure solution que ça
Pour cette solution, veuillez consulter mon autre réponse : /q/10...
Bien que cette solution ne soit pas considérée comme un standard, il s'agit d'une solution couramment utilisée.
Il y a encore quelques lacunes, telles que :
Si le jeton généré est trop long, vous devez vous demander s'il dépasse la limite de longueur de la requête GET lors de l'exécution de GET (car la longueur de l'URL est limitée), mais un jeton trop court ne peut pas garantir une unicité et une sécurité élevées
Bien sûr, utiliser un jeton comme jeton utilisateur n'est pas sûr. Si le jeton est volé par d'autres avant son expiration, d'autres personnes peuvent usurper l'identité de l'utilisateur et effectuer des opérations sans se connecter.
Si vous souhaitez une méthode plus sûre, utilisez le serveur de session pour vérifier l'utilisateur. Cependant, le problème inter-domaine de session est en effet un problème courant, et il n'y a aucun problème avec le jeton inter-domaine. l'interface est accessible, le jeton demande la transmission des données. Mon point de vue personnel est donc que le seul choix est entre sécurité et facilité d’utilisation. Bien entendu, d'autres méthodes de vérification peuvent également être utilisées, comme JWT, etc., mais cette méthode est plus lourde (à moins de ne pas avoir à réinventer la roue).
1. Le client soumet les informations
2. Le serveur vérifie l'exactitude des informations. Si la connexion est illégale, la connexion échoue
3 Le serveur utilise un algorithme pour générer un jeton et stocke le jeton dans une concurrence élevée. base de données telle que redis, et définit le délai d'expiration
4. Le serveur renvoie le jeton au client
5. Le client enregistre le jeton
6. La prochaine fois que le client demande, il transporte le jeton. Le serveur vérifie la validité de. le jeton. S'il est valide, il réussit, s'il est invalide, la vérification échoue