Savoir de quelle page le visiteur vient

emmanuel.coppey
Invité n'ayant pas de compte PHPfrance

07 sept. 2011, 18:42

Bonjour,
Je suis nouveau sur ce forum, et je voudrais savoir s'il est possible de savoir de quelle page le visiteur vient?
Le but étant d'empêcher le visiteur qui ne vient pas de la page de paiement d'aller sur la page de confirmation. :D
Merci d'avance,
Emmanuel
Modifié en dernier par Ryle le 12 sept. 2011, 14:09, modifié 1 fois.
Raison : Sujet du topic non explicite

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

07 sept. 2011, 21:23

salut,

regarde ce qu'il y a dans la variable $_SERVER => http://fr.php.net/manual/fr/reserved.va ... server.php

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 2278 Messages

07 sept. 2011, 22:13

où tu trouveras cette magnifique formule:
L'adresse de la page (si elle existe) qui a conduit le client à la page courante. Cette valeur est affectée par le client, et tous les clients ne le font pas. Certains navigateurs permettent même de modifier la valeur de HTTP_REFERER, sous forme de fonctionnalité. En bref, ce n'est pas une valeur de confiance.
je me demande s'il ne serait pas aussi simple d'ajouter un <input type ='hidden' name ='origine' value ='paiement.php' /> ou n'importe quelle valeur
et de tester dans la page confirmation si ce champ est renseigné, et s'il contient la valeur attendue
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

08 sept. 2011, 17:10

même chose un formulaire est modifiable, dans ce cas il n'y a pas de valeur sure :mrgreen:
Il en faut peu pour être heureux ......

Mammouth du PHP | 672 Messages

09 sept. 2011, 09:50

Bonjour,
Je suis nouveau sur ce forum, et je voudrais savoir s'il est possible de savoir de quelle page le visiteur vient?
Le but étant d'empêcher le visiteur qui ne vient pas de la page de paiement d'aller sur la page de confirmation. :D
Merci d'avance,
Emmanuel
Bonjour.

1. Merci de mettre un titre un peu plus explicite.
Parce que "PHP", vu qu'on est dans un forum sur le PHP, ça ne nous donne pas vraiment d'idée du problème #-o

2. Pour ton problème :
En fait, ton problème, ce n'est pas de savoir que le visiteur vient de paiement.php, mais de t'assurer que le paiement a bien été fait.
=> Voir du côté des sessions.

En gros : quand tu valides le paiement tu ouvres une session, et tu y claques un token (généré à partir de l'IP, par exemple).
Et dans la page confirmation.php, tu vérifies qu'il y a bien une session ouverte, et que l'IP correspond à celle enregistrée.

emmanuel.coppey
Invité n'ayant pas de compte PHPfrance

09 sept. 2011, 20:28

Bonjour,
Le problème c'est que j'effectue mon paiement par paypal, ce qui fait que je ne crois pas pouvoir faire ce que tu dis.

Voici un bout de mon code :
<?php
$page = https://www.paypal.com/fr/cgi-bin/webscr;
if ($_SERVER['HTTP_REFERER'] == $page)
{
    echo '<div style="margin-left:200px;margin-right:50px;margin-top:20px;border:1em solid #000;outline:1px solid #fff;"><h2 style="color:#fff;"><img src="annule.png"height="30px;"/>&nbsp;&nbsp;&nbsp;Vous venez de valider votre paiement!</h2><br /><p style="color:white;">Un courriel vient de vous être envoyé.</p>';
}
else
{
    echo "Vous n'avez pas les droits necessaires à l'affichage de cette page. <a href=\"index.php\">Accueil</a> - <a href=\"achat.php\">Achat</a>";
    
}
?> 
Malheureusement, il ne marche pas.
La page renvoie:
Parse error: syntax error, unexpected ':' in paiementValide.php on line 421,
la ligne où j'ai mon url paypal.

Mammouth du PHP | 672 Messages

12 sept. 2011, 11:44

Bonjour,
Le problème c'est que j'effectue mon paiement par paypal, ce qui fait que je ne crois pas pouvoir faire ce que tu dis.
Je n'utilise pas Paypal, mais il me semble que son API renvoie de quoi vérifier que la transaction s'est effectuée correctement...Fais une recherche Google, tu devrais trouver ton bonheur :oops:
La page renvoie:
Parse error: syntax error, unexpected ':' in paiementValide.php on line 421,
la ligne où j'ai mon url paypal.
Erreur de syntaxe : il y a un : non souhaité à la ligne 421.
Vu ton code, je dirais que c'est bêtement que tu ne mets pas de quote pour ton URL :
$page = "https://www.paypal.com/fr/cgi-bin/webscr";