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

Struts 1 Java Discussion :

GET et POST avec struts


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut GET et POST avec struts
    Avec les Servlets une requête passée en GET appelle la méthode doGet() et une requête passée en POST appelle la méthode doPost().

    Maintenant avec struts c'est la méthode execute() de l'Action qui est appelée quelque soit le mode d'appel (GET ou POST).

    J'ai besoin pourtant de répondre seulement aux requêtes passées en POST et d'ignorer les requêtes passées en GET.

    En fait, je ne désire pas qu'un utilisateur trafique l'URL dans un navigateur et reçoive des réponses dont il n'a pas le droit de savoir.

    Comment gérer cela ?

    Merci.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    si tu passes par des formulaires (avec des Formbean que tu recupere dans l'action grace a l'attribut form), il ne pourra pas entrer ses valeurs directement dans l'url via la méthode Get non ?

  3. #3
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Je ne comprends pas trop ton probleme,
    dans un formulaires quand tu fais un submit il ne peux pas y avoir de problemes car au submit il ne regarde pas l'url mais ton formulaire que tu defini en post

    Ensuite dans le cas d'un lien qui fait appel à une action, c'est un lien il n'y a pas de get ou de post.

    En tout cas jamais entendu de ce probleme avec struts.

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Citation Envoyé par Cronycs
    il ne pourra pas entrer ses valeurs directement dans l'url via la méthode Get non ?
    Mais si ! On peut parfaitement le faire !
    Voici un exemple :
    supposons qu'on a un formulaire avec un champ "login" et un champ "pwd" et une action "/Login".
    Si la méthode utilisé dans le formulaire est "GET", lorsqu'on appuie sur le submit, le navigateur redirige vers l'url "/Login.do?login=unNom&pwd=unMdp". Struts intercepte cet URL, et à partir des paramètres qu'il contient, remplit les attributs de la requête et remplit les ActionForms. Or, on peut directement taper un tel url dans le navigateur et déclencher cette batterie d'actions, sans pour autant passer par le formulaire !

    Et donc, Mister Nono voudrait savoir comment dans une Action Struts est ce qu'on peut savoir dans que l'utilisateur a bien passé par un formulaire qui utilise la méthod POST !

    En PHP par exemple, il sépare les paramètres selon leur types (GET, POST, etc.) via les tableux $_GET[], _POST[], etc. Comme ça, on peut faire une telle vérififcation. Mais en JSP, le tout est mis dans un HttpRequest, et ce quelque soit son origine !

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    Citation Envoyé par Modjo
    Mais si ! On peut parfaitement le faire !
    Voici un exemple :
    supposons qu'on a un formulaire avec un champ "login" et un champ "pwd" et une action "/Login".
    Si la méthode utilisé dans le formulaire est "GET", lorsqu'on appuie sur le submit, le navigateur redirige vers l'url
    Justement si on recupere le formulaire dans un Formbean, il ne prends que ce qui a été entré dans les champs, donc que la méthode POST !

    Apres si c'est un lien, oui forcement ca sera du GET, mais ca que ce soit struts ou non ...

    EDIT : a non j'ai rien dit, en effet on peut passé par la méthode GET, c'est pas très logique :/

  6. #6
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Citation Envoyé par Modjo

    Et donc, Mister Nono voudrait savoir comment dans une Action Struts est ce qu'on peut savoir dans que l'utilisateur a bien passé par un formulaire qui utilise la méthod POST !

    En PHP par exemple, il sépare les paramètres selon leur types (GET, POST, etc.) via les tableux $_GET[], _POST[], etc. Comme ça, on peut faire une telle vérififcation. Mais en JSP, le tout est mis dans un HttpRequest, et ce quelque soit son origine !
    Dans le cas ou le formulaire est passé en Get tu ne peux pas empecher l'utilisateur de modifier lui meme l'url, c'est d'ailleur comme ca que je fais sur certain site qui demande une batterie de clique avant d'aller sur l'index, une fois que tu connais l'url hop en une fois c'est joué.

    Sinon dans le HttpRequest la difference que je vois est que en get les valeurs sont dans getParameter. Et si c'est en post il faut appeler getAttribut!

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    Citation Envoyé par maxf1
    Sinon dans le HttpRequest la difference que je vois est que en get les valeurs sont dans getParameter. Et si c'est en post il faut appeler getAttribut!
    Oui mais dans ce cas tout ce qui est FormBean avec recuperation des valeurs automatique du formulaire avec struts ne sert plus a rien :/

  8. #8
    Membre chevronné Avatar de binouzzz19
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    385
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 385
    Par défaut
    si tu ve ignorer la méthode get !!

    Ne fais rien dedans, fais juste un appel a la méthode post!

    doGet(request, response){
    doPost(request,response);
    }

    doPost(request, response){
    ...
    }

  9. #9
    Membre extrêmement actif Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 242
    Par défaut
    Citation Envoyé par Modjo
    Mais si ! On peut parfaitement le faire !
    Voici un exemple :
    supposons qu'on a un formulaire avec un champ "login" et un champ "pwd" et une action "/Login".
    Si la méthode utilisé dans le formulaire est "GET", lorsqu'on appuie sur le submit, le navigateur redirige vers l'url "/Login.do?login=unNom&pwd=unMdp". Struts intercepte cet URL, et à partir des paramètres qu'il contient, remplit les attributs de la requête et remplit les ActionForms. Or, on peut directement taper un tel url dans le navigateur et déclencher cette batterie d'actions, sans pour autant passer par le formulaire !

    Et donc, Mister Nono voudrait savoir comment dans une Action Struts est ce qu'on peut savoir dans que l'utilisateur a bien passé par un formulaire qui utilise la méthod POST !
    C'est tout à fait cela mon soucis.

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 116
    Par défaut
    Citation Envoyé par maxf1
    Ensuite dans le cas d'un lien qui fait appel à une action, c'est un lien il n'y a pas de get ou de post.
    Hum, hum.... Si c'est un lien c'est forcement un get... Et malheuresement meme si tu definis ton formulaire en post, quelqu'un qui connait les parametres peut l'envoyer en get avec l'url... et l'action repondra bien.
    Je ne sais pas comment faire, mais il faut regarder du coté des methode de HttpServletRequest. Sinon cela doit etre surement dans les headers de http.

    ps: Modjo a repondu plus vite que moi...

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

Discussions similaires

  1. Envoi GET et POST avec HttpURLConnection
    Par carton99 dans le forum Langage
    Réponses: 3
    Dernier message: 03/05/2013, 15h40
  2. POST/REDIRECT/GET avec STRUTS
    Par raz2008 dans le forum Struts 1
    Réponses: 1
    Dernier message: 10/09/2010, 15h38
  3. [MySQL] fonction GET et POST avec un certificat SSL
    Par bruce20 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 31/07/2010, 17h19
  4. Equivalent de GET et POST en Struts ?
    Par aurelientp dans le forum Struts 1
    Réponses: 1
    Dernier message: 19/11/2008, 00h14
  5. Flash et securité avec PHP (get ou post)
    Par Garra dans le forum Flash
    Réponses: 8
    Dernier message: 02/05/2008, 14h46

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