Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1453 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Modifier le referer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modifier le referer

n°1375139
Superjun
Ouais.
Posté le 25-05-2006 à 21:48:25  profilanswer
 

Salut à tous
 
J'ai vu que ce sujet à été traité plusieurs fois, mais je n'ai pas réussi à trouver une réponse satisfaisante à mon problème (que voici) :
 
Je veux pouvoir rediriger (grâce à un bête header() avec Location) n'importe quoi depuis une page (l'url fournie à Location est passée par GET).
Mais je veux aussi modifier le referer qui est envoyé par HTTP...
 
Pour ce faire je devrai normalement utiliser la fonction header() avec le paramètre Referer comme suit :

Code :
  1. header('Referer: '.$referer);
  2. header('Location: '.$url);


Or, cette syntaxe ne fonctionne pas  :(  
Et même en inversant Referer et Location ça ne marche pas (j'ai créé une petite page, qui affiche le referer, et sur laquelle pointe ma redirection -> le referer est toujours celui de la page qui pointe sur la page de redirection.
 
Aperçu :

Code :
  1. <?php
  2. // Récupération des paramètres GET
  3. // *URL
  4. $url = NULL;
  5. if (isset($_GET['url']))
  6. {
  7.     $url = $_GET['url'];
  8. }
  9. // *Referer
  10. $referer = NULL;
  11. if (isset($_GET['referer']))
  12. {
  13.     $referer = $_GET['referer'];
  14. }
  15. // Envoi des HEADER (redirection)
  16. header('Referer: '.$referer);    // Changer le referer
  17. header('Location: '.$url);       // Page de destination
  18. ?>


Pour rediriger, j'appelle la page de redirection comme suit :

<a href="redir.php?url=...&referer=...">Redirection</a>


Même en remplaçant dans la page de redirection header('Referer: '.$referer); par header('Referer: http://unsite.com/index.php'); le résultat reste le même.
 
J'ai trouvé une classe PHP qui le permettait, mais il fallait utiliser PHP5 avec l'extension CURL, ce qui n'est pas installé chez les hébergeurs gratuits tels que lycos...  :(  
Pour info, cette classe s'appelle Simplecurl
 
Je sais que les navigateurs peuvent bidouiller eux-même les en-tetes, donc normalement le serveur devrait aussi pouvoir...
 
Quelqu'un aurait-il une solution avec PHP<5 et sans librairies PHP préinstallée ?


Message édité par Superjun le 26-05-2006 à 01:44:36

---------------
J'aime la vie, et je la croque à pleine dents, cette saloppe.
mood
Publicité
Posté le 25-05-2006 à 21:48:25  profilanswer
 

n°1375145
FlorentG
Unité de Masse
Posté le 25-05-2006 à 21:54:09  profilanswer
 

Pouet, on peut pas : Le header location va envoyer une requête HTTP signalant la redirection au client. Le client va alors rediriger avec son propre referer à lui

n°1375149
Superjun
Ouais.
Posté le 25-05-2006 à 22:01:36  profilanswer
 

Du coup, ça sert à quoi header('Referer: ...'); en PHP ?
Ou bien ce paramètre n'existe pas. Mais quelle est la liste des paramètres qui peuvent être envoyés par le serveur ?
 
 
Et alors comment ça se fait que la classe Simplecurl arrive à le faire ? (voire mon post principal)


Message édité par Superjun le 25-05-2006 à 22:09:18

---------------
J'aime la vie, et je la croque à pleine dents, cette saloppe.
n°1375152
FlorentG
Unité de Masse
Posté le 25-05-2006 à 22:07:51  profilanswer
 

Rien... Enfin ça enverra ce header, mais le navigateur n'en fera rien. Pour Simplecurl, ça va aboutir au fait que c'est le serveur qui fera la connexion avec le referer et tout (mais pas le client, d'où bordel)

n°1375153
Superjun
Ouais.
Posté le 25-05-2006 à 22:14:13  profilanswer
 

Ok, merci pour tes réponses...
 
Et si j'utilise simplecurl (faut d'abord que je trouve un serveur PHP5 + CURL), tu dis que ça fera du bordel... mais ça fonctionnera quand même ?


---------------
J'aime la vie, et je la croque à pleine dents, cette saloppe.
n°1375154
FlorentG
Unité de Masse
Posté le 25-05-2006 à 22:15:00  profilanswer
 

Ben y'aura pas vraiment de redirection... vu que c'est le script qui se connecte

n°1375162
Superjun
Ouais.
Posté le 25-05-2006 à 22:25:56  profilanswer
 

ça fera donc une sorte de proxy ?
 
En réalité, tout ce que j'ai besoin c'est de pouvoir me "connecter" à un fichier (page HTML / image / etc) en altérant les informations contenues dans le referer, sans intervention de l'utilisateur sur son navigateur et sans passer par un proxy conventionnel...


Message édité par Superjun le 25-05-2006 à 22:26:16

---------------
J'aime la vie, et je la croque à pleine dents, cette saloppe.
n°1375170
FlorentG
Unité de Masse
Posté le 25-05-2006 à 22:33:39  profilanswer
 

Ouais, genre un proxy un petit peu. Tu va pouvoir alors te connecter à un serveur, et récupérer un fichier, en mettant ce que tu veux dans le referer


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Modifier le referer

 

Sujets relatifs
phpnuke 'Comment modifier logos / couleurs etc"Modifier évènement après rechargement
Modifier la taille de l'ascenseur[macro excel Modifier tout les lien hypertexte
[JExcelAPI] Modifier un fichier excelModifier liens avec à onchange [RESOLU]
[Delphi] Modifier dans un fichier txtModifier la source de donnée d'une listBox au runtime ?
[C++] Modifier l'onglet Récupération de la gestion d'un service[JAVA]méthode set de la classe URL ou comment modifier mon referer
Plus de sujets relatifs à : Modifier le referer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR