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

Servlets/JSP Java Discussion :

securité de page web


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 146
    Par défaut securité de page web
    salut mes cher(es) ami(es),
    j'ai un petit probleme concernant la securité de connection à des pages:
    au premier page ,je doit entrer un mot de passe et un login pour connecter a d'autres pas contenant des informations ,alors le probleme quand je garde une adresse URL d'une page contenant des informations et puis je quitte l'application,quand je met cette adresse, la page affiche les informations sans me demande d'entrer le mot de passe et le login,
    ya quelqu'un qui as une idée pour resoudre type de problème,il faut me demander d'entrer le mot de passe au lieu d'affichier les informations , et merci d'avance .

  2. #2
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Ton problème est un problème très courant.

    Je suppose que, lorsqu'un utilisateur s'authentifie dans ton application, tu crées un bean que tu mets dans la session de cet utilisateur.

    Ensuite, pour éviter qu'un utilisateur ne puisse accéder à une page sans s'être préalablement authentifié, tu as écris un filtre qui vérifie si son bean est ou non en session.

    Le problème est que, lorsqu'un utilisateur ferme son navigateur, sa session (et tous les beans placés dans cette session) n'est pas directement détruite (il faut attendre un certain temps).

    Ainsi, si tu tentes, directement après avoir fermé ton navigateur, de récupérer une page de ton application, ta session existe encore.
    Il est donc normal que tu passes la sécurité.

    Une solution pourrait être de fixer la valeur du paramètre session-timeout, à la fin de ton descripteur de déploiement (le fichier web.xml), à une valeur très petite (voire à zéro).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <session-config>
         <session-timeout>...</session-timeout>
    </session-config>

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par aJavaDevelopper

    Une solution pourrait être de fixer la valeur du paramètre session-timeout, à la fin de ton descripteur de déploiement (le fichier web.xml), à une valeur très petite (voire à zéro).
    Vaut mieux pas ! Ce paramètre précise le délai d'inactivité autorisé pour une session avant de l'invalider.
    Mettre 1 signifirait que ton utilisateur doit faire un aller/retour serveur en moins d'une minute, sinon, la session est invalidée avec tout ce qu'elle contenait (autant dire que le scope session n'a plus beaucoup d'intéret)

    (il semble que la valeur 0 ne soit pas prise en compte, du moins sur Tomcat)

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    @OButterlin:
    ------------
    Tu as raison, mettre zéro n'est pas envisageable (car il n'y aurait alors plus de scope session)...

    Je pense que le mieux est de mettre une valeur compromis : suffisamment petite que pour assurer la sécurité mais également suffisamment grande pour qu'un utilisateur ne doive pas se ré-authentifier s'il est inactif pendant peu de temps...

    @mqsi:
    -------
    Si cette solution ne te convient pas, tu peux toujours essayer de mettre en place une solution de sécurité plus aboutie.
    Je te recommande pour cela ACEGI SECURITY SYSTEM.
    Il s'agit d'un système permettant d'assurer la sécurité d'une application web.
    Personnellement, je ne l'ai jamais utilisé (car, dans mon entreprise, la sécurité des applications est externalisée).
    Tu trouveras un petit tutorial ici : http://ego.developpez.com/acegi/acegi.pdf.

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    J'aurais un truc simple :
    dans la page (jsp) qui sert à l'authentification, tu rajoutes un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <% session.invalidate(); %>
    Comme ceci, à chaque fois que tu arrives sur cette page, toutes les données de session sont perdues (ce qui est normal ici)

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Cette solution n'empêche pas un utilisateur dont la session existe encore d'accéder directement (via l'URL) à une page de l'application et ce, sans passer par la page de login...

    Or, si j'ai bien compris, c'est ce problème que nous pose mqsi...

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    C'est vrai, mais d'un autre côté, quand tu fermes le navigateur, la session est certes encore active sur le serveur, mais quand tu réouvres un navigateur, il te générera une autre session... donc, l'un dans l'autre, invalidate devrait être suffisant, non ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Sécurité] Sécurité pages Web
    Par friiitz dans le forum Langage
    Réponses: 1
    Dernier message: 23/05/2006, 09h36
  2. Réponses: 15
    Dernier message: 15/11/2005, 17h33
  3. [Securité] contenu de source xml inconnue ds une page web
    Par Mr N. dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 21/03/2005, 14h33
  4. ouvrir une page Web en mode texte
    Par Halleck dans le forum Windows
    Réponses: 7
    Dernier message: 03/03/2004, 15h08
  5. Réponses: 3
    Dernier message: 28/10/2003, 14h26

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