redirection en POST

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : redirection en POST

par Invité » 13 oct. 2006, 12:29

merci

:P :P :P

par Ryle » 12 oct. 2006, 16:49

Je peux :)

Le form, tout ce qu'il y a de plus simple, renvoi les données en post vers la page souhaitée :

Code : Tout sélectionner

<form id="nom_du_formulaire" action="page_vers_laquelle_tu_renvoi.php" method="post"> ... </form>
Pour les champs hidden :

Code : Tout sélectionner

<input type="hidden" name="nom_de_ton_champ" value="valeur_de_ton_champ" /> ...
Et enfin le p'tit bout de javascript pour poster automatiquement le formulaire

Code : Tout sélectionner

<script language="javascript"> document.getElementById('nom_du_formulaire').submit(); // envoi le formulaire </script>

par Invité » 12 oct. 2006, 14:17

TU PEUX ME DONNER UN EXEMPLE DE FORM AVEC HIDDEN AVEC LA VALIDATION JAVASCRIPT STP
MERCI
:oops:

par Ryle » 12 oct. 2006, 14:05

Nope tu ne peux pas transferer les données envoyées en post avec un header ou une redirection html ou javascript.. au mieux si tu ne veux pas qu'elles figurent dans l'url, il faut les stocker en session et les récupérer ensuite.

Après, y a aussi l'aspect bidouille ou au lieu d'un meta, tu colles un formulaire html avec des champs hidden que tu valides automatiquement en javascript, mais côté sécurité, c'est pas ce qu'on fait de mieux :)

par Invité » 12 oct. 2006, 13:52

j'ai utilise les sessions phpbb sur mon site
pour se connecter aux sessions phpbb il faut un login $username et un passworde $password
sur mon site je veux utiliser pour la connexion un numero d'adherant $user_adher et le passworde $password
pour cela j'ai fait une page qui va chercher le login qui correspond au numero de l'adherant puis je fait une redirection sur la page de connexion du forum
mais phpbb bloque les variables qui ne son pas envoyées par POST

voila le code

Code : Tout sélectionner

... $connexion = mysql_connect($site, $basd, $pas) or die('<br/>Connexion au serveur impossible.<br/>Contactez le webmaster si le problème n\'est pas résolu.<br/>'); $choix_base = mysql_select_db($basd, $connexion) or die('<br/>Sélection de la base de donnée echouée.<br/>Contactez le webmaster si le problème n\'est pas résolu.<br/>'); $sql = "SELECT username FROM phpbb_users WHERE user_adher = '$user_adher' "; $resultat = mysql_query($sql) or die('<br/>Exécution de la requête impossible.<br/>Contactez le webmaster si le problème n\'est pas résolu.<br/>'); $ligne = mysql_fetch_array($resultat); $username = $ligne['username']; $password = $_POST["password"]; die('<meta http-equiv="refresh" content="0;URL=forum/login.php?username='.$username.'&password='.$password.'&redirect=../index.php&ext=1>'); mysql_close(); ...

par fred9999 » 12 oct. 2006, 13:43

je comprend pas trop ce que tu veut !!!

mais bon j'essaye de t'apporter un élément de reponse

Code : Tout sélectionner

die('<meta http-equiv="refresh" content="0;URL=login.php?username='.$username.'&password='.$password.'&redirect=index.php');
je pense que tu devrai plus faire comme ça

et sur ta page login.php

if (isset($_GET['redirect']))
{
header("Location: http://.../index.php");
}

non???

sinon tu peut le passer en post via un formulaire

mais il me faudrai plus d'info sur commen tu désigne si il y a besoin ou non d'une redirection

par jojolapine » 12 oct. 2006, 13:36

alors là j'ai rien pigé du tout ...
tu n'aurais pas le code ta page à nous montrer et nous expliquer un peu mieu ce qui se passe ?
sinon jsute comme ça pourquoi tu n'enverrai pas en post tes informations?

redirection en POST

par rems02 » 12 oct. 2006, 13:28

Est il possible d'envoyer une redirection en php en POST
de type

Code : Tout sélectionner

die('<meta http-equiv="refresh" content="0;URL=login.php?username='.$username.'&password='.$password.'&redirect=index.php');
ou avec

Code : Tout sélectionner

header("Location: http://.....
en claire je voudrais que les variables en rouge n'apparecent pas

http://site.com/index.php?username=truck&password=untruck

:lol: