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 :

Bloquer des URL directes (filtres Java)


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Points : 32
    Points
    32
    Par défaut Bloquer des URL directes (filtres Java)
    Bonjour,

    Je suis en train de développer une application web en J2EE gérant différents profils.
    J'ai mis en place des filtres me permettant de rediriger des personnes essayant d'entrer directement une URL dans le navigateur mais n'étant pas connectées pour cela.

    J'ai également mis en place une page web avec un div qui se met à jour lorsque l'utilisateur clique sur des liens (sans recharger toute la page). J'utilise pour cela JQuery (une fonction onclick sur les liens qui fait charge le nouveau div et retourne false pour que le navigateur ne fasse rien).
    en clair:
    * la page index.jsp contient du blabla, des liens, et mon div qui se met à jour
    * les pages contenuLien1.jsp, contenuLien2.jsp etc.. contiennent chacune le contenu de mon div qui se met à jour.

    Du coup, quand l'utilisateur clique sur les liens, le div se met à jour bien comme il faut. L'URL visible dans le navigateur reste inchangée, même si en réalité une autre page est affichée (il voit qu'il est sur index.jsp alors qu'il affiche contenuLien1.jsp par exemple)

    Je voudrais empêcher l'utilisateur de rentrer directement l'URL de mes contenus (s'il rentre dans la barre d'adresse /contenuLien1.jsp, ça doit le renvoyer vers index.jsp et ne pas juste afficher le contenu du div en mode moche)

    Sauf que si je mets un filtre qui redirige les pages 'contenuLien...', eh bien ça ne marche plus en mode normal (lorsque l'utilisateur clique sur les liens)

    Vous voyez ce que je veux dire ou il faut que j'essaye de préciser un peu plus ?
    Quelqu'un connait-il une solution pour m'aider svp ?

    Merci d'avance

  2. #2
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Salut,

    dans tes "pages" secondaires, il faut que tu fasses un test de "REFERRER" :
    http://www.javaservletsjspweb.in/200...l#.ULz_ti4e5DE

    si le REFERRER n'est pas ta page "index.jsp" alors tu rediriges vers l'index.jsp
    sinon c'est que c'est bon.

    Si l'utilisateur tape directement l'URL, alors le REFERRER est null.

    D'ailleurs, si tu aimes bien les filters, tu peux faire cette mécanique très facilement avec un Filter ce qui t'évitera de le mettre sur toutes tes pages secondaires.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    Merci pour cette idée effectivement je n'y avais pas pensé ! Je vais tester ça dès que possible (j'ai peur cependant que cela ne fonctionne pas en cas de clic successif sur plusieurs liens du menu)
    En effet au tout début nous sommes sur index.jsp, mais lorsque l'utilisateur va cliquer sur un lien et raffraichir le 'div', le referrer ne va-t-il pas changer en 'contenuLien1.jsp' ?

    D'ailleurs, si tu aimes bien les filters, tu peux faire cette mécanique très facilement avec un Filter ce qui t'évitera de le mettre sur toutes tes pages secondaires.
    Je ne comprends pas bien ce que tu veux dire par là :s
    Pour l'instant j'ai un filtre qui s'applique sur /* et qui me permet de m'assurer que la personne est connectée pour accéder à l'application
    Et j'ai un second filtre qui empeche un profil1 d'aller sur des pages d'un profil2 et vice-versa

    La seule faille que je vois pour l'instant, c'est que si un profil1 est connecté, alors il a accès aux pages de profil1 et il peut donc rentrer directement une url du type /profil1/contenuLien1.jsp (au lieu de rester gentiment sur profil1/index.jsp ^^)

  4. #4
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Citation Envoyé par JohnSheppard Voir le message
    Bonjour,
    En effet au tout début nous sommes sur index.jsp, mais lorsque l'utilisateur va cliquer sur un lien et raffraichir le 'div', le referrer ne va-t-il pas changer en 'contenuLien1.jsp' ?
    effectivement.

    Mais dans ton cas, si le REFERRER == NULL (ou vide je sais plus) ... ça veut dire que l'URL a été accédée directement (soit par favori, soit par saisie de l'utilisateur dans la barres d'adresse) et donc je pense que ça te suffira non ?
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    désolé pour le temps de réponse, ce projet personnel a dû être mis entre parenthèses quelques temps !

    Du coup j'ai réfléchi à une autre solution qui permettrait de beaucoup moins s'embêter avec des filtres ou des referrer etc... (ta solution fonctionnerait très bien cela dit =), mais je voudrais optimiser encore plus), et donc j'ai une nouvelle question liée à ce problème d'URL.

    J'ai vu une application fonctionner de la manière suivante:
    * lorsqu'on passe la souris sur un lien, on voit le chemin de la page qui va être ouverte (jusque là tout va bien)
    * en revanche, quel que soit l'endroit où nous sommes dans l'application, l'URL visible par le client est toujours la même ! Par exemple www.domaine.com/monAppli/
    Le client n'a pas d'autre choix que d'avoir cette URL (s'il rentre manuellement autre chose cela renvoie une erreur de page introuvable, et ce même si la page existe réellement !)

    Bref vous voyez le principe, je trouve ça vraiment pas mal pcq c'est sécurisé une bonne fois pour toute. Le client peut se ballader dans l'appli via les liens et pas autre chose => pas de bidouilles possibles !

    Bon alors le problème, c'est que je ne vois pas du tout comment faire ça avec ma petite application J2EE =) Des idées ?

Discussions similaires

  1. Interdire l'accès à des fichiers en URL directe
    Par LeonCosnyd dans le forum Sécurité
    Réponses: 5
    Dernier message: 25/02/2011, 16h28
  2. Réponses: 6
    Dernier message: 26/07/2010, 09h29
  3. Ouvrir des pages web en java directement dans l'application
    Par Seb33300 dans le forum Interfaces Graphiques en Java
    Réponses: 9
    Dernier message: 27/01/2010, 00h59
  4. [Routeur] Bloquer des URL
    Par ANISSS dans le forum Hardware
    Réponses: 7
    Dernier message: 26/06/2007, 13h32
  5. [DOM] Comment créer des flux XML en java ?
    Par nean_j dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 27/04/2004, 12h00

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