IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Connexion sécurisé login/password


Sujet :

ASP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut Connexion sécurisé login/password
    Bonjour,

    Donc je viens vous voir car je dois réaliser un site en asp.

    sur la page principale, en cliquant sur accès restreint, on arrive sur une page qui demande login / password. puis on clique sur le bouton ok et, c'est la mon problème.
    Il faudrait que mon code compare le login rentré avec le login qui est dans la base de donnée Access 2003, password pareil.
    Si ok, on arrive sur une page asp, sinon, message d'erreur.

    Le problème c'est que j'ai toujours codé en php, donc avec l'asp j'ai du mal.
    Je vous montre mon code, si quelqu'un pourrait me dépanner ce serait super gentil!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
     
    <body>
     
     
    <% champ1=request.form("champ1")%>
    <% champ2=request.form("champ2")%>
     
     
    	<div align="left"> <br /><br /><br />
        		Veuillez rentrer votre Login et Password.<br /><br />
        	<!--Login -->
      			<form id="form1" name="login" method="post" action="">
        			<label>
        				<input type="text" name="champ1" value="<%champ1%>" />
        			</label> 
        			Login
      			</form>
    	<!--Zone de texte Password -->
    			<form id="form2" name="password" method="post" action="">
      			<label>
      				<input type="text" name="champ2" value="<%champ2%>" />
      			</label> 
      			Password
    			</form>
    	<!--Bouton ok -->
    			<form id="form3" name="boutonOk" method="post" action="">
      			<label>
      				<input type="submit" name="bouton_ok" id="bouton_ok" value="Envoyer" />
      			</label>
    			</form>
    	</div>
     
     
    <!-- CONNEXION A LA BASE DE DONNEE -->
     
    Set cnx = Server.CreateObject("ADODB.Connection")
    cnx.Open "BddInfographie"
     
     
     
    </body>
    </html>
     
    <!--code asp
    connexion a la base de donnée access
    dc requette 
    verifier que 
    if loginBouton=login et passwordBouton = password ok
    sinon veuillez recommencer -->

    Merci d'avance!

    Petitlila

  2. #2
    vva
    vva est déconnecté
    Membre averti Avatar de vva
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 463
    Points : 447
    Points
    447
    Par défaut
    première remarque il te faut séparer ta page de login et ta page de traitment ASP

    tu fais un formulaire html avec nom et mot de passe, dans l'action du formulaire tu mets l'adresse de la page de traitement et dasn ta page de traitement tu fais une lecture sql avec un request.form du login et du mot de passe si oui redirection sur la page d'accueil sinon redirection sur la page de login

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    oui j'ai vu ça qu'il fallait faire deux fichiers en regardant les autres discussions.

    Donc le html il est fait pas de problème.

    Pour lle second fichier lui par contre j'ai des questions.
    Donc pour la vérification :
    je recupère bien les valeurs du formulaire et ensuite je les compares avec la table de la base de donnée.
    Si ok c'est bon, sinon je reviens page d'accueil la suis ok.

    Le mieux c'est de montrer le code. Mais je n'arrive pas a faire la requette et je ne sais pas si la structure de mon code est bonne.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Vérification accès restreint</title>
    </head>
     
    <body>
     
    <%
     
    Set dbConnection = Server.CreateObject("ADODB.Connection")
    dbConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.mappath("BddInfographie.mdb")&"; Persist Security Info=False"
    set objRs = Server.CreateObject("ADODB.Recordset")
    set objCmd = Server.CreateObject("ADODB.Command")
    set objCmd.ActiveConnection = dbConnection
     
    'ok pas de problème
     ' si le login récupéré ds la zone de texte ne se trouve pas ds la table de la base, on redirige vers connexion.asp
    if request.form("login")/=dbConnection then
    response.Redirect("connexion.asp?truc=1")
     
    'sinon 
    else
    if request.form("password")/=dbconnection then
    response.Redirect("connexion.asp?truc=1")
    else
    response.Redirect("restreint.asp?truc=1") 
     
    end if
     
    %>
     
    </body>
    </html>
    Merci d'avance!

  4. #4
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    Il faut au minimum faire une requête sur ta base de données, ce qui manque dans ton code. As-tu jeté un coup d'oeil ici ?

    request.form("login")/=dbConnection
    et non. vbscript est un langage souple, mais quand-même ! On ne compare pas des choux-fleurs avec des artichauds .
    (pour not equal, on utilise <> en vbscript)

    if loginBouton=login et passwordBouton = password ok
    T'en es pas loin.

    La requete va s'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select * from la_table_des_users where userId='" & Request.form("champs1") & "' and userPwd='" & request.form("champs2") & "'"
    Ensuite, vérifier si le recordset retourné est vide ou pas (propriété eof)
    Point besoin d'objet command ici.

    Remarque : un seul formulaire, pas un par champs.


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Donc dsl pour le retard comme jy arrivais pas j'ai priviligié une autre fonction.

    J'ai modifié mon code, je me retrouve dc avec trois fichiers

    connexion.asp avec le formulaire

    admin.asp qui verifie login/password et qui appelle bd.asp

    bd.asp qui se connecte a la base

    le formulaire va bien.
    Le problème, il y en a un^^ c'est que je rentre login.password, je clique sur ok et la ça me met impossible d'afficher la page ...

    donc, c'est peu etre car je n'ai pas mis le nom du fichier si la fonction est vrai je ne sais pas le faire. (il va sur restreind.asp)

    Je vous montre les codes!

    connexion.asp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Connexion à l'accès restreint</title>
    <style type="text/css">
    <!--
    #apDiv1 {
    	position:absolute;
    	width:339px;
    	height:30px;
    	z-index:1;
    	left: 659px;
    	top: 30px;
    }
    -->
    </style>
    </head>
     
    <body>
     
     
      <!-- debut formulaire -->
     
    <form id="form1" name="form1" method="post" action="admin.asp">
     
     <div id="apDiv1">
       <div align="center">Veuillez rentrer votre login / password.</div>
     </div>
     <br /> <br /> <br /> <br />
     
     <table width="200" border="0" align="center">
      <tr>
        <td><label>
          <input name="login" type="text" id="login" value="" size="30" maxlength="20" />
        </label></td>
        <td>Login</td>
      </tr>
      <tr>
        <td><label>
          <input name="password" type="password" id="password" value="" size="30" maxlength="10" />
        </label></td>
        <td>Password</td>
      </tr>
      <tr>
        <td><label>
          <div align="center"></div>
          </label></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td><div align="center">
          <input type="submit" name="valider" id="valider" value="Envoyer" />
        </div></td>
        <td>&nbsp;</td>
      </tr>
    </table>
     
     </form>
    <p>
        <!-- fin formulaire -->
     
        <!-- CONNEXION A LA BASE DE DONNEE -->
    </p>
    </body>
    </html>
    admin.asp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #include file="_bd.asp"<%
    Set RS = server.createobject("ADODB.Recordset")
     
    ' Si le lien contient ?pass=no
    ' on vide le cookie
    if request("password")="no" then
       response.cookies("passe6")=""
    ' Sinon si le visiteur a validé le formulaire
    elseif request("password")<>"" then
       ' on compare avec la liste
       RS.Open "SELECT * FROM connexion",Conn , 3, 3
       do while not RS.eof
          ' si le login et le pass sont OK
          if request("login")=RS("login") _
             and request("password")=RS("password") then
             ' on va sur la page restreint.asp
             response.Write(prout)
             exit do
          end if
          RS.moveNext
       loop
       RS.close
    end if
     
    ' Déconnexion
    conn.close%>
    bd.asp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <%
    ' Path long de la base de données
    dbPath = Server.MapPath("/Infographie/BddInfographie.mdb")
    ' Création de l'objet permettant la connexion
    Set Conn = Server.CreateObject("ADODB.Connection")
    ' Connexion
    Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};" _
       & " DBQ=" & dbPath
    %>
    voila!

    Merci d'avance!

  6. #6
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Points : 1 978
    Points
    1 978
    Par défaut
    Bonjour

    #include file="_bd.asp"
    remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!-- #include file="_bd.asp" -->
    .

    Tu n'as pas lu ce que je t'ai répondu précédemment

    La requete va s'écrire :
    Code :

    select * from la_table_des_users where userId='" & Request.form("champs1") & "' and userPwd='" & request.form("champs2") & "'"
    Ensuite, vérifier si le recordset retourné est vide ou pas (propriété eof)
    Point besoin d'objet command ici.


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 15
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Une question, pourquoi on met #include... en commentaire?

    Et donc pour ma requete si je l'avais modifié ce week end, et donc ce matin j'essai avec le serveur mais ça me met tout le temps "Impossible d'afficher la page ...HTTP 500 - Erreur interne du serveur Internet Explorer"

    Donc mon site est mal configuré, mais en quoi?

    Je mets la requette :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    RS.Open "select Password from connexion where login= 'request("login")'.",Conn , 3, 3
       do while not RS.eof
          ' si le login et le pass sont OK
          if request("login")==RS("login") then
             ' on va sur la page restreint.asp
             response.redirect(restreint.asp)
             exit do
          end if
    l'erreur HTTP 500 c'est due a admin.asp??

Discussions similaires

  1. Page de connexion avec login,password et groupe
    Par ndiobadieye dans le forum Langage
    Réponses: 2
    Dernier message: 02/03/2015, 15h24
  2. Connexion Login/Password Authlogic
    Par gescolino dans le forum Ruby
    Réponses: 0
    Dernier message: 28/03/2010, 15h54
  3. Client lourd, connexion db, login, password et sécurité ?
    Par elitost dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 27/09/2007, 17h04
  4. [WSS3] Connexion au LDAP via Login/password
    Par vds2302 dans le forum SharePoint
    Réponses: 0
    Dernier message: 30/07/2007, 15h50
  5. connexion BD distante en ftp + login/password
    Par g0up1l dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 04/04/2007, 21h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo