Bonjour,

Je cherche à peaufiner la sécurité de mon site internet.
Jusqu'à présent, l'authentification d'un client sur mon serveur de socket n'est soumise à aucune vérification.

L'authentification est la suivante :

1. Le client se rend sur mon site, il se connecte et rafraichit la page.
2. Lorsque la page est rechargée, le client demande au serveur de socket l'autorisation d'ouvrir une connexion.
3. Le serveur accepte le client, ouvre la connexion et crée un identifiant de type #Resource x
4. Une fois que la connexion est ouverte, le client transmet son nom d'utilisateur.
5. Le serveur reçoit le nom d'utilisateur et l'associe à l'identifiant de type #Resource x

Étant donné que le nom d'utilisateur est envoyé par le client et qu'il ne faut absolument jamais faire confiance aux données en provenance du client, je pensais procéder de la manière suivante :

1. Le client se rend sur le site.
2. Un formulaire invite le client à entrer son nom d'utilisateur et son mot de passe.
3. Le client soumet le formulaire, on récupère le nom d'utilisateur, le mot de passe et on demande au serveur de socket l'autorisation d'ouvrir une connexion.
4. Si le serveur accepte la demande de connexion, il crée une ressource #Resource et ouvre la connexion.
5. A ce moment-là, le client transmet au serveur ses informations de connexion.
6. Le serveur les réceptionne et, au moyen d'une requête SQL, contrôle si les informations transmises permettent l'identification du membre.
7. Si le membre est correctement identifié, on le redirige vers l'espace membre, sinon on l'invite à renvoyer ses informations de connexion.

Ma question concerne le point 6 ci-dessus : Une requête SQL est-elle judicieuse, de par son temps d'exécution (et pour chaque membre, pour chaque tentative), bien que le propre du serveur de socket est précisément de faire transiter des données, sans a priori, avoir besoin de recourir aux bases de données ? Faire des requêtes SQL, cela ne ralentirait-il pas de trop les performances, la fluidité des échanges ?

Je précise qu'il m'est absolument nécessaire d'identifier les différentes connexions afin que, par exemple, pour l'application de tchat, un membre ne se fasse pas passer pour un autre.

Au plaisir d'échanger.