HTTP_REFERER et variable dans url

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 : HTTP_REFERER et variable dans url

par hakazizi » 03 août 2008, 14:23

je suis pas sur que pour un formulaire il y ai quelque chose dans ton referer...

par philipp » 02 août 2008, 19:44

:D :D j'ai testé ta solution hakazizi elle me semble la plus simple :oops: pour mon niveau, ça fonctionne.
merci encore pour vos aides :D

par hakazizi » 02 août 2008, 11:37

tu pourrais egalement faire un truc comme sa.
if(!ereg"^http://www.monsite.com", $_SERVER['HTTP_REFERER'])) //on verifie que le debut du referer soit bin le domaine attendu
   { 
      header('Location: http://www.monsite.com/index.php?pag=accueil'); exit();//si le domaine n'est pas bon on redirige sur l'accueil et on stoppe le script
    }
//si c'est bon on laisse le script se derouler normalement
 
NB pour l'autre sens on enleve le "!" et le exit

par _activmik » 02 août 2008, 11:18

Essaye de mettre ton url dans une variable puis tu supprimes le bout que tu ne veux pas avec un code du style :
 // partie à enlever 
  $supp = "&id=1"; 
   
  // cherche la postion du &id=1  
  $position = strpos($url, $tsupp); 
   
  // enleve  tout ce qui se trouve apres le &id=1  
  $url_new = substr($url, 0, $position); 

par philipp » 02 août 2008, 08:33

ben voilà dans mon test si mon url est à une seule variable (pag=fiche c'est ok) mais en réalité il y a deux variable et le deuxième c'est un id qui change à chaque fiche.

Code : Tout sélectionner

if($_SERVER['HTTP_REFERER'] != 'http://www.monsite.com/index.php?pag=fiche&id=1') { header('Location: http://www.monsite.com/index.php?pag=accueil'); }
l'idéal pour moi serais de d'enlever le &id=1 avant de faire le test, mais je là bloque aussi :shock:

par hakazizi » 01 août 2008, 17:47

rien compris a ta demande essaye d'etre plus explicite

HTTP_REFERER et variable dans url

par philipp » 01 août 2008, 17:03

bonjour,
j'aurais besoin d'aide sur ce pb que je n'arrive pas à résoudre:
j'ai dans l'envois d'un formulaire par email un test :

Code : Tout sélectionner

if($_SERVER['HTTP_REFERER'] != 'http://www.monsite.com/index.php?pag=fiche') { header('Location: http://www.monsite.com/index.php?pag=accueil'); }
pour contrôler si le formulaire est pas posté de mon site.
ce formulaire ce trouve dans une page ou j'ai dans url plusieurs variable du genre:
http://www.monsite.com/index.php?pag=fiche&id=1
et c'est là que ça plante car si j'ai http://www.monsite.com/index.php?pag=fiche j'ai pas de pb mais si je rajoute une variable je suis plus bon.
qu'est ce qui manque, je sèche ? :oops: merci