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 :

problème de session avec asp


Sujet :

ASP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut problème de session avec asp
    salut !
    les sessions au niveau de mon site marchent bien mais le problème est que si je me déconnecte et je retourne avec le boutton précédent je retourne à la page qui est normalement protégée par les sessions aussi si je copie l'url de la barre d'adresse et que je la copie ds une nouvelle fenêtre je peux aussi accéder à une page qui est supposée être protégée . je ne sais pas koi faire vraiment. Au niveau de la déconnexion j'ai vidé mes variables de session
    ex: session("a")=""
    session.abandon
    response.redirect("accueil.asp")

    Merci pour votre aide

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Faudrait que tu nous explique comment fonctionne ta sécurité.
    En utilisant les variables de session, le plus classique est de verifier à chaque page sécurisé que la session est valide.
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    salut
    je fais la vérification au niveau de chaque page; je récupère les variables de session de la page acces.asp qui contient le formulaire d'identification, et au niveau de chaque page je récupère ces variables et je refais la meme requete pour vérifier la validité:

    pseudo=request.form("pseudo")
    sql="select * from user where pseudo like '" & pseudo & "'"
    set rs = conn.execute(sql)
    if not rs.eof then
    session("pseudo") = pseudo

    Merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 166
    Points : 189
    Points
    189
    Par défaut
    je ne sais pas si ça répondra à ton problème mais perso je fais comme suit.
    j'ai une page réservée pour la destruction des variables de session dessus je fais un session.abandon puis un redirect vers une autre page.
    Le fait d'effectuer les traitements au niveau d'une page dédiée (cad qui ne retourne rien au client) évite les problèmes liés aux manip du bouton précédent du navigateur.

  5. #5
    Rédacteur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 608
    Points : 1 561
    Points
    1 561
    Par défaut
    Après avoir fait précédent ou tapé l'adresse tu as réactualisé pour voir (avec F5 sous IE) ? Ce serait pas la page dans le cache qu'il t'afficherait des fois ?

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    oui j'ai fais F5 mais ça n'a rien changé j'ai même écrit
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="cache-control" content="no-cache">
    dans la page à laquelle il ne faut pas accéder

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    amar00 j'ai pas compris ce que tu m'as proposé
    merci

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 166
    Points : 189
    Points
    189
    Par défaut
    mettons que tu as un lien se déconnecter sur toutes les pages de l'espace privé de ton site.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href=".....deconnect.asp">se déconnecter</a>
    le code de deconnect.asp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <% @ LANGUAGE="VBSCRIPT" %>
    <%
    'destruction des variables de session liées à l'utilisateur en cours
    Session.abandon
    'redirection vers page de l'espace public(on confie la gestion 
    'de la réponse HTTP à une autre page asp)
    response.redirect  "page d'accueil de l'espace public"
    %>

  9. #9
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    pseudo=request.form("pseudo")
    sql="select * from user where pseudo like '" & pseudo & "'"
    set rs = conn.execute(sql)
    if not rs.eof then
    session("pseudo") = pseudo
    C'est le code que tu mets en début de chaque page?
    Si oui tu mets un formulaire sur chaque page?
    si non c'est quoi le code que tu as en haut de chaque page?
    " L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
    La Rochefoucauld

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    oui je met ce code au niveau de chaque page

    pseudo=request.form("pseudo")
    sql="select * from user where pseudo like '" & pseudo & "'"
    set rs = conn.execute(sql)
    if not rs.eof then
    session("pseudo") = pseudo

    j'ai un seul formulaire au niveau de la page d'accueil

    merci

  11. #11
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    Tu as résolu ton problème?

    Car en fait en haut de chaque page tu ne teste pas ta session.

    Du moins pas dans la partie du code que tu nous a donné.
    Si tu veux réellement tester ta variable session en haut de chaque page il faut pas passer par la requete. Il te faudra passer par un test de la session.
    " L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
    La Rochefoucauld

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    je n'ai toujours pas résolu le probleme,
    tu peux m'expliquer comment faire ce test?

  13. #13
    Membre confirmé Avatar de Phiss
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2005
    Messages
    676
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2005
    Messages : 676
    Points : 616
    Points
    616
    Par défaut
    Pour moi le plus simple est de faire comme ça:

    Tu gardes ta page de login.
    La page qui est juste après tu mets le bout de code que tu avais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    pseudo=request.form("pseudo")
    sql="select * from user where pseudo like '" & pseudo & "'"
    set rs = conn.execute(sql)
    if not rs.eof then
    session("pseudo") = pseudo
    Du coup après tu teste la session("pseudo") en haut de chaque page de ton site qui doit être protégé par log.
    Du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if session("pseudo") = "" then
    response.redirect("mapage de log.asp")
    end if
    Par contre lors de la déconnexion tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    session("pseudo") = ""
    Pour plus de sécurité il faut tester en même temps que tu regarde le contenu de la session("pseudo") le fait qu'elle existe ou non.
    " L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
    La Rochefoucauld

  14. #14
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par Phiss
    Par contre lors de la déconnexion tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    session("pseudo") = ""
    Plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Session.Contents.RemoveAll()
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Problème de SESSION avec les "pseudo-frame" PHP
    Par kergad dans le forum Langage
    Réponses: 10
    Dernier message: 24/05/2008, 01h12
  2. Problème de session avec Firefox 1.5.x
    Par Andéa dans le forum Langage
    Réponses: 1
    Dernier message: 29/09/2006, 22h06
  3. [Sécurité] Problème de sessions avec IE6
    Par TheMoutch dans le forum Langage
    Réponses: 8
    Dernier message: 21/08/2006, 17h52
  4. Problème de sessions avec SimpleXml
    Par laetyboop dans le forum Langage
    Réponses: 7
    Dernier message: 12/05/2006, 10h17
  5. Problème de recherche avec ASP & sqlserver
    Par salmer dans le forum ASP
    Réponses: 2
    Dernier message: 13/04/2006, 10h00

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