Trucsweb.com

Forum de discussion

 Forum « Programmation ASP » (archives)

Re: authentification

Envoyé: 29 juillet 2004, 8h08 par Oznog


Salut,

Attention, ce message fait déjà partie d'une discussion. Tu n'avait pas à créer un nouveau sujet.

Par contre félicitations, c'est très bien. Il me manque plusieurs bout de code pour bien en juger mais ça semble fonctionnel.

2 erreurs.

1. Ferme et vide toujours tes objets avant une redirection. Pour éviter ce que l'on nomme le "Round-robin", tes objets restent ouvert sur le serveur pour rien pour une période de 20 minutes (selon la session). Tu as 20 visiteur ça fait plus de 33 heures cumuler de ressources serveur gaspillée. Et spécifie une page pour la redirection! J'y revient dans les conseils plus bas.

2. Tu devrais faire passer une requète SQL à la table au lieu de l'ouvrir au complet :

strSQL = "SELECT nom, motdepasse FROM tblutilisateurs WHERE nom = '" & strnomutilisateur & "';"
objrs.Open strSQL, objconn

Il suffit alors de tester si l'enregistrement a été trouvé :

If objrs.BOF And objrs.EOF Then
' Ferme et vide les objets
' Redirection erreur identification
else
if not (strcomp(objrs("motdepasse"),request.form("motdepasse"),vbbinarycompare)=0) then
' Ferme et vide les objets
' Redirection erreur de mot de passe
else
' Ferme et vide les objets
' Identification et mot de passe accepté
end if

NOTE : Idéalement tu devrais "nettoyer" la requète HTTP (les request.form) pour t'assurer qu'elle ne contient pas de mots réservés SQL par exemple ou autres caractères suceptible de faire planter ou craquer ta base.

Enfin, j'ai deux améliorations à te proposer, surtout une concernant la gestion des erreurs et la redirection. Quand tu détecte une erreur, tu lui assigne un numéro.

0 = pas d'erreur
1 = Identification erronée!
2 = Mauvais mot de passe!


La redirection directement sur le formulaire d'identification de cette façon :

Response.Redirect(formulaire.asp?err=2)

De cette façon tu peux tester sur ton formulaire la présence de "err"

if request.querystring("err") = 2 then
sMEssErreur = "Mot de passe erroné"
end if

2. Tu devrais aussi tester si l'identification et le mot de passe contiennent bien des valeur avant d'ouvrir la base et tester l'identification.

if trim(request.form("nom")) <> "" and trim(request.form("motdepasse")) <> "" then

Mais dans l'ensemble s'et pas mal. Tu verra avec le temps à améliorer d'avantage l'identification, avec encodage ou avec des service comme la redirection directe sur la page demandé sasn autorisation etc.

Ciao
Oznog


Réponses

 sp spRe: authentification nazim29/7/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@