|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 10 ![]() |
Bonjour tout le monde, je débute et je voudrais savoir comment rediriger vers une page en y incluant des variables en POST ?
D'avance merci. |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Rémi BOURGARELDéveloppeur .NET Inscription : juin 2006 Messages : 426 ![]() |
Y'a une methode de porc pour faire suivre des valeur d'une page a l'autre :
Creer un formulaire cache (hidden) que tu rempli avec les valeur envoyee. Tu peut aussi mettre les valeur dans un $_SESSION, |
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Étudiant Inscription : juillet 2004 Messages : 777 ![]() |
Oui la methode la plus adapté c'est d'utiliser les sessions... Parce que un formulaire de champs hidden c'est vraiment n'importe quoi
|
|
|
00
|
|
|
#4 | |
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Citation:
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
|
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() Étudiant Inscription : juillet 2004 Messages : 777 ![]() |
Eu passer des variables en faisant un formulaire avec que des champs hidden c'est quand meme n'importe quoi...
Apres c'est sur que toutes les methodes on leurs utilités et moi aussi je les utilises toutes... |
|
|
00
|
|
|
#6 |
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Bon, c'est sur....1 point, le form avec que du hidden c pas terr
ible...
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 10 ![]() |
Merci pour vos réponses, mais j'ai encore des doutes ... les variables par $_SESSION c'est bien c'est propre mais comment l'associer à une page unique ? Je m'explique: comment faire quand l'utilisateur a deux fois la même page d'ouverte dans le même navigateur mais avec des données différentes ... comment faire pour ne pas mélanger les variables lors de la redirection ?
Autre question: Je veux passer d'une action A d'un controleur 1 vers une action B d'un controleur 2 ... avec en plus des paramêtres ... Je fais un $this->_redirect('/2/B'); avec des variables en session ?? Est ce conceptuellement parlant une bonne méthode ? Julio. |
|
|
00
|
|
|
#8 | ||||
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Les session, comme post ou get, sont des superglobal.... Et sont accessible via des tableaux correspondant : si tu fais :
Code :
(note le SID, qui permet de transmettre l'ID de session créé automatiquement à session_start(). Ceci est valable si dans ton php.ini transsid est à off dans la section "session") Dans ta page 2 : Code :
Donc en gros, tu peu gérer ce que tu veux, t'as pas tellement de contraintes.... (à noter que la commande rafréchir des navigateurs vident les vareiables de Session, car elles dépendent du contexte....)
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
||||
|
|
00
|
|
|
#9 |
![]() ![]() Julien PauliArchitecte de système d'information Inscription : mai 2006 Messages : 597 ![]() |
Pour rediriger les variables POST de page en page, il faut utiliser le code HTTP 307, sinon elles sont perdues.
Tous les navigateurs, sauf IE et Safari, vont demander une revalidation de le soumission des paramètres entre les 2 requêtes, c'est un principe de sécurité, discuté ici La trame HTTP est alors de la forme : POST /testRedirect.php HTTP/1.1 Host: 127.0.0.1 Content-Type: application/x-www-form-urlencoded Content-Length: 3 a=b // header("Location:RedirectTo.php",true,307); HTTP/1.x 307 Temporary Redirect Location: RedirectTo.php // ici, demande de renvoie de la part des navigateurs puis: POST /RedirectTo.php HTTP/1.1 Host: 127.0.0.1 Content-Type: application/x-www-form-urlencoded Content-Length: 3 a=b HTTP/1.x 200 OK |
|
00
|
|
|
#10 |
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
...Donc le 307 est une redirection temporaire des données.... (Je dis ca à chaud, pas encore fait de recherches sur le sujet;...
Mais je comprend pas vraiment : les variables POST sont de toute les façons transmises, dès lors qu'on a un formulaire avec ou sans hidden... (Bon, il faut valider...), donc je vois pas tellement l'intérêts .... Tu aurais un peu plus d'infos ? Merci !!!!! PS : qu'est ce que t'y connais au php ?! (toujours rêvé de dire ca à quelqu'un de balèse en PHP, en plus venant de l'AFUP..... ) lolEdit : je suis fatigué le matin, j'ai pas vu ton liens....
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
|
|
00
|
|
|
#11 | |
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Citation:
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
|
|
|
00
|
|
|
#12 |
![]() ![]() Julien PauliArchitecte de système d'information Inscription : mai 2006 Messages : 597 ![]() |
Pour information, il est fortement déconseillé de transmettre le SID dans l'URL, sous peine de vol de session ( j'écris un article là dessus, qui va sortir d'ici peu de temps ).
Préférez les cookies. Et pour répondre à une autre question, si un utilisateur a 2 onglets ouverts pointant sur la même page, alors les 2 pages seront liées par son identifiant de session, et donc la session sera partagée entre les 2 onglets ( même domaine, donc cookie de session trabsmit à chaque requête par le navigateur ). En réalité : les sessions servent à ca hein, avant de s'en servir pour tout et pour rien, il faut se souvenir de la definition même d'une session, et de son but, afin de ne pas s'etonner de certains comportements, et de les utiliser à bon escient |
|
00
|
|
|
#13 |
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Pour la transmission de SID : moi je l'utilise tout le temp, et il n'aparait jamais dans l'URL.... Il se trouve que j'ai le transsid à on, ca veut dire qu'il a la priorité ? (Mes URL finissant par SID, ne voient finalement jamais le SID à la fin....)
Pour les Cookies, le problème est tjs le même : les accepter, ne pas les accepter.... Tel est la question... Du moins de l'internaute moyen (tout le monde devrait savoir que les Cookies ne sont pas malveillant....
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
|
|
00
|
|
|
#14 |
![]() ![]() Julien PauliArchitecte de système d'information Inscription : mai 2006 Messages : 597 ![]() |
Si tu vois pas le SID, c'est que c'est transmit par cookie.
Le cookie a la priorité. De plus, énormément d'utilisateurs acceptent les cookies de nos jours. Tous les experts en sécurité le disent en conférence ( Ilia Alshanetsky - Chris Shiflet - Damien Seguy - Marco Tabini... ), forcez l'utilisation des cookies pour transmettre le sid, et désactivez pleinement le url.transid PHPSecInfo le signale de même |
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 10 ![]() |
Merci à tous les deux, vos informations me sont très précieuses.
Julio. |
|
|
00
|
|
|
#16 | |
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Citation:
Julio, merci pour ton POST, j'en ai aussi beaucoup profité
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
|
|
|
00
|
|
|
#17 |
![]() ![]() Julien PauliArchitecte de système d'information Inscription : mai 2006 Messages : 597 ![]() |
Bien sûr qu'il le fait tout seul.
PHP est un langage de script serveur, il pilote donc le serveur. C'est pour ca qu'à chaque appel de session_start(), PHP flushe les en-tête HTTP en envoyant un en-tête setCookie: pour envoyer le cookie, et que donc " on ne doit rien écrire avant un session_start()" , voila l'expliquation ;-) |
|
00
|
|
|
#18 | |
|
Membre émérite
![]() Inscription : août 2006 Messages : 943 ![]() |
Citation:
Merci !!!
__________________
Veni Vidi Vici ------------------------- Mes articles : developpez.com ou bien vbview.net ------------------------- Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!! Et aussi : --> pear_manual_fr.chm!!! Ou encore : --> Les tutoriaux & cours PHP de Développez.com ------------------------- |
|
|
|
00
|
|
|
#19 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Pour répondre à la question initiale, nous avons un article à ce sujet (sans ZF mais il suffit d'adapter) : http://g-rossolini.developpez.com/tu...aires-et-php5/
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#20 | |
|
Invité régulier
![]() Inscription : mars 2008 Messages : 23 ![]() |
Citation:
Moi je ne vois pas vraiment de problème, ou de faille à proprement parler puisque l'exemple founi dans ce lien, ne démontre pas un problème lié à l'utilisation de redirection + envoi de données en POST, mais un problème de XSS du site en question. Pour ma part, je ne vois pas de différence avec une redirection en GET, si ce n'est que c'est transparent pour le client. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com