Verification nom/mot de passe a la connection

Contenu du snippet

Voici une petite procèdure pour sécuriser un peu l'accès à un site ou portion de site.

Il faut créer une base Access avec la table "Agents" minimale suivante :
Nom
Prenom
MDP

Et créer un lien DSN système à cette base sous le nom de "WebAgents"

Source / Exemple :


Index.asp 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>ACCES AU MODULE ...</title>
</head>

<body>

<BR>

<p align="center">
    <center>
    <form name=login action="logon.asp" method="POST">
    <table align="center" valign="center">
    <tr><td>Nom:</td><td><input type="TEXT" name="NoID"></td></tr>
    <tr><td>Mot de passe:</td><td><input type="password"name="password"></td></tr>
    <tr><td colspan=1 align=center>
    <input type="submit" value="Login!"></td></tr>
    </table>
    </form>
    </center>
</html>

Logon.asp

<%
	function crypter(s)
		dim i
		dim temp
	
		for i=1 to len(s)
			temp=temp+chr(asc(mid(s,i,1)) xor 33)
		next
	
		crypter=temp
	end function

   password=crypter(Request.Form("password"))
   NoID=Request.form("NoID")
%>
<html>

<head>
<title>ACCES</title>
</head>

<body>

<%
	dim conn
	dim sql
	dim rs
	dim TNOM, TPRENOM, TTEL, TNIVEAU, TSERVICE, TMDP
	dim qui
	dim ok
	
	ok=0
	
	on error resume next 
	set conn=server.createobject("ADODB.Connection")
	conn.open "WebAgents"
	
	sql="select * from Agents;" // Mettre le nom de la table ou reqête adéquate à la place de Agents
	
	set rs=server.createobject("ADODB.recordset")
	rs.open sql,conn,3,3
	if not rs.eof then
		if rs.recordcount>0 then
			rs.movefirst
			do while not rs.eof 
				TNom=rs.fields("Nom")
				if lcase(NoID)=lcase(TNom) then
					TPRENOM=rs.fields("PRENOM")
					TMDP=rs.fields("MDP")
					if TMDP=password then
						ok=-1
					   response.Redirect "main.asp?Nom="&chr(34)&TNOM&chr(34)&"&Prenom="&chr(34)&TPRENOM&chr(34)
				   	   response.flush
				      response.end
					end if
				end if
				rs.movenext
			loop
		else
			response.write("<B>la base est vide</B>")
		end if
	end if
	rs.close
	conn.close
	set conn=nothing
	if ok=0 then response.write("Mot de passe ou NoID erroné")
%>

</body>

</html>

main.asp

<%Response.Buffer = True

   dim TNom
   dim TPrenom
   dim id
   
   TNom=request("Nom")
   TPrenom=request("Prenom")
   
   id=mid(TPrenom,2,len(TPrenom)-2) &" "&mid(TNom,2,len(TNom)-2)
%>
<html>

<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Administration ...</title>
</head>

<body>

<p align="left"><font size="1">Bienvenue&nbsp;<% =id %></font>
La suite du code ici
</body>

</html>

Conclusion :


A+

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.