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

Symfony PHP Discussion :

Erreur sur un formulaire + champs texte commençant par "http:/" [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut Erreur sur un formulaire + champs texte commençant par "http:/"
    Je tombe sur un curieux problème qui me laisse fort perplexe.

    Côté backend (formulaires générés par doctrine:generate-admin), j'ai un formulaire d'edit avec deux champs texte : un text area, un input text.

    Je fais la manipulation suivante :
    - dans l'un ou des deux champs texte, je saisis un texte comme :
    " http:/blablabla"

    - je clique sur le bouton "save".

    Résultat : tout va bien, la base est mise à jour, le formulaire d'edit se ré-affiche avec une url du style : backend_dev.php/monmodule/1/edit

    Mais si au lieu des textes ci-dessus, je saisis :
    "http:/"
    avec ou sans texte derrière, alors :
    - chez moi (localhost) : pas de problème
    - chez le client : j'obtiens une erreur me disant "POST to /backend_dev.php/monmodule/1 not supported"

    Notez que l'url est effectivement fausse : le "/edit" n'a pas été concaténé.

    Et je n'ai pas la moindre idée de ce qui peut causer ce comportement...

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Quel sont les serveurs chez toi et sur l'autre site ?

  3. #3
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Apache dans les deux cas, sous XP chez moi, sous Linux chez le client.

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    As-tu comparé et vérifié les deux php.ini ?

    Est-ce que chez le client le formulaire marche avec d'autres données ?

    Que donnes les tests fonctionnels appliqués sur le serveur client ?

  5. #5
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Citation Envoyé par mimi68 Voir le message
    As-tu comparé et vérifié les deux php.ini ?
    Oui, rien ne me saute aux yeux de ce côté là.

    Citation Envoyé par mimi68 Voir le message
    Est-ce que chez le client le formulaire marche avec d'autres données ?
    Tout à fait. Il suffit que les champs texte ne commencent pas par 'http::' pour que ça marche.

    Citation Envoyé par mimi68 Voir le message
    Que donnes les tests fonctionnels appliqués sur le serveur client ?
    Je n'ai pas fait de tests fonctionnels pour le moment. Je vais essayer d'en coder quelques uns pour voir s'ils me donnent des pistes.

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Bizarre ce truc

    L'erreur c'est uniquement en mode "dev" ?

    Le message d'erreur exacte c'est quoi ? As-tu accès à la page de debug ?

    Pour un message posté sans erreur, quel est le résultat dans la barre de debug de config - request ?

  7. #7
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Citation Envoyé par mimi68 Voir le message
    L'erreur c'est uniquement en mode "dev" ?
    Non, en mode "prod" elle apparait aussi.

    Le message d'erreur exacte c'est quoi ? As-tu accès à la page de debug ?
    Quand je clique sur "save", je suis renvoyé à la page /backend_dev.php/phrasejour/1
    qui me donne une erreur 501; Method not implemented / POST to /backend.php/phrasejour/1 not supported.

    DU coup, je n'ai pas accès à la page debug. A noter également qu'il n'y a trace d'aucun plantage dans les fichiers de log.

    Pour un message posté sans erreur, quel est le résultat dans la barre de debug de config - request ?
    Si je fais un "save" sans erreur, j'arrive sur l'url /backend_dev.php/phrasejour/1/edit
    et dans la barre de debug, config|request contient:
    options:
    path_info_key: PATH_INFO
    path_info_array: SERVER
    default_format: null
    logging: '1'
    relative_url_root: null
    formats: { txt: text/plain, js: [application/javascript, application/x-javascript, text/javascript], css: text/css, json: [application/json, application/x-json], xml: [text/xml, application/xml, application/x-xml], rdf: application/rdf+xml, atom: application/atom+xml }
    no_script_name: false
    parameterHolder:
    action: edit
    id: '1'
    module: phrasejour
    sf_format: html
    attributeHolder:
    sf_route: 'sfDoctrineRoute Object()'

  8. #8
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Bon, voilà un problème en voie d'être résolu. D'après les traces d'erreur dans log d'Apache, le bug ne vient probablement pas de Symfony ni de ma façon de l'utiliser mais plutôt du Firewall ModSecurity. Il y a une règle de sécurité qui provoque un faux positif dans notre cas (c'est - dire : sur tout en POST - et peut être en GET - d'un argument commençant par 'http:/' ou 'ftp:/'.

    Quelques pistes pour paramétrer ça :

    http://www.linuxquestions.org/questi...itives-613609/
    http://beginlinux.com/blog/2009/05/g...h-modsecurity/
    http://www.mighty-studio.net/wp-cont...entreprise.pdf

    Des fois que ça serve à quelqu'un...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/07/2009, 15h40
  2. Réponses: 6
    Dernier message: 17/10/2007, 10h10
  3. valeur d'un champ text modifié par une variable en parametre
    Par klimero dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 21/04/2006, 10h39
  4. formulaire: champ texte + liste deroulante
    Par mat21 dans le forum Langage
    Réponses: 3
    Dernier message: 17/01/2006, 10h01
  5. Réponses: 2
    Dernier message: 12/10/2005, 15h15

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