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 :

détecter si l'utilisateur a cliqué sur "page précédente" ou modifié manuellement l'URL


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Par défaut détecter si l'utilisateur a cliqué sur "page précédente" ou modifié manuellement l'URL
    Bonjour

    Je travaille sur un projet qui utilise JSF et au moins une servlet. Mon intention est de faire en sorte que si l'utilisateur distant clique sur le bouton "page précédente" ou modifie manuellement l'URL, la requête soit purement et simplement ignorée et qu'au mieux il ne se passe rien, ou a défaut que la page où il était lorsqu'il a fait cette manipulation soit rechargée.

    A charge ensuite pour moi de prévoir des boutons internes à mon application qui permettent de naviguer dedans.

    Je sais qu'il doit être possible de récupérer ce type d'infos puisque certains sites font des stats où ils disent d'où on a cliqué pour les visiter.

    Savez vous comment faire?
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Citation Envoyé par Aldian Voir le message
    Je sais qu'il doit être possible de récupérer ce type d'infos puisque certains sites font des stats où ils disent d'où on a cliqué pour les visiter.
    Bonjour,

    Les stats que tu indiques sont extraites d'un fichier log. Par exemple pour HTTP Server Apache, c'est le fichier access_log ou access.log.

    Chaque accès au serveur est enregistré dans ce fichier par une ligne.

    Chaque ligne est de la forme:
    127.0.0.1 - - [30/May/1998:17:27:15 +0200] "GET /myPage.jsp HTTP/1.1" 200 5687

    Les différents champs sont l'adresse IP, la date et heure de la réponse, la requête, le code de la réponse et la taille de la réponse.

  3. #3
    Membre chevronné

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Par défaut
    Je vois très bien ce que tu veux dire, mais je ne pense pas que ça réponde à la problématique.

    En effet ces lignes de logs indiquent les pages qui ont été demandées, mais pas le lien qui a été cliqué, ou la page de provenance.

    Or si je regarde les statistiques de mon blog wordpress, je peux voir que "tant de vos visiteurs viennent de google", "tant ont cliqué sur des liens internes", "tant viennent de www.toto.com", etc.

    C'est à ça que je fais référence. Je soupçonne que ces infos doivent se situer quelque part dans le header http du get, reste à savoir où?


    EDIT: J'ai trouvé comment faire, c'est le champs Referer de la requête Http. Ca peut fournir un moyen de réponse à ma question originale : "pas de referer" => "opération anormale".

    Mais il y a peut être plus habile, je ne marque donc pas encore le thread comme résolu.
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Attention l'entête Referer n'est pas toujours renseignée correctement. Elle est supprimée par certains utilitaires pour garantir " l'anonymat" de l'utilisateur.

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    -> Le Referer n'est pas toujours correct (comme dit, parfois il n'est pas présent dans le navigateur)
    -> Si tu fais un back puis un reload, il y a des chance que le referer soit le même que la fois précédente.

    Quel est le but de toute cette opération? C'est un besoin pour le moins curieux, qui laisse à supposer qu'il ne s'agit pas en réalité d'un besoin, mais d'un moyen mal choisi pour satisfaire un besoin que tu n'a pas exprimé ici.

  6. #6
    Membre chevronné

    Homme Profil pro
    Développeur J2EE Senior
    Inscrit en
    Mai 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur J2EE Senior
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2008
    Messages : 419
    Par défaut
    Je vais essayer de reformuler alors:

    Je développe une application suivant l'architecture JSF/Spring/Hibernate. Je couvre un certain nombre de risques techniques comme l'authentification automatique de l'utilisateur (en http), et la conservation de la session. Le client peut naviguer sur le site en utilisant les liens fournis dans le corps des pages en fonction de ce que je l'autorise à faire. Et comme je suis bon prince, je lui fournis aussi un bouton logout.


    Le risque que je cherche à couvrir, et qui m'a amené à poster ce message, c'est ce qui se passera si l'utilisateur essaye de modifier manuellement l'url sans cliquer sur un bouton, s'il clique sur page précédente, s'il ouvre un lien dans un nouvel onglet, etc. Ce genre de chose si je ne le gère pas est susceptible de générer des plantages, en particulier dans les cas où des ressources ont été réservées en écriture, ou auraient du l'être.


    Et donc je m'interroge sur les moyens de circonvenir aux diverses possibilités.
    Mes cours sur l'écosystème Java EE - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. evenement clique sur une page rechargement page erreur 403
    Par chafaqis dans le forum SharePoint
    Réponses: 3
    Dernier message: 24/11/2014, 13h43
  2. Savoir si l'utilisateur a cliqué sur un href
    Par MayOL69bg dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/04/2007, 15h01
  3. [PHP-JS] Vérifiez si l'utilisateur a cliqué sur Submit
    Par MayOL69bg dans le forum Langage
    Réponses: 4
    Dernier message: 26/03/2007, 14h35
  4. [AS] Tester si l'utilisateur a cliqué sur une fonction
    Par PrinceMaster77 dans le forum Flash
    Réponses: 2
    Dernier message: 11/01/2006, 15h28

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