IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Supprimer le referer


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Points : 143
    Points
    143
    Par défaut Supprimer le referer
    Bonjour,
    Afin de ne pas révéler l'adresse d'un script, je fais pointer les liens vers un autre script, qui fait ensuite la redirection par la fonction header(). Mais je me suis rendu compte que le header() transmettait le HTTP_REFERER, qui n'est pas après la redirection le script de redirection, mais le script d'origine. Comment supprimer ou remplacer ce referer ? J'ai tenté ce qui est indiqué , mais ça ne marche pas.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 438
    Points : 15 812
    Points
    15 812
    Par défaut
    l'entête "Referer" est envoyé par le navigateur dans la requête HTTP donc tu ne peux pas le modifier en utilisant une redirection coté serveur

    à la place de la redirection tu peux par exemple utiliser l'extension http://php.net/curl

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Points : 143
    Points
    143
    Par défaut
    JE cherche plus un moyen de faire ma redirection sans dévoiler l'emplacement du script d'origine. En attendant, j'utilise une redirection HTML Le referer ne semble pas dévoiler l'URL que je souhaite masquer.

  4. #4
    Membre habitué
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 87
    Points : 186
    Points
    186
    Par défaut
    Si tu te construit un ptit script de proxy ça devrais régler la question avec un simple header("Location: <url>"); d'après mes tests en local il n'y a pas de referer.

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Points : 143
    Points
    143
    Par défaut
    Tu peux expliciter ?

  6. #6
    Membre habitué
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 87
    Points : 186
    Points
    186
    Par défaut
    Refais tes liens pour qu'ils soient du genre http://<tonsite.com>/proxy.php?href=<le lien en urlencode>

    Ensuite dans proxy.php tu fais un simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    if(isset($_GET['href']))
    {
    header("Location: ". urldecode($_GET['href']));
    }
    Tu peux faire une couple d'autres vérifications de sécurité mais ça devrais faire l'affaire normalement.

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Points : 143
    Points
    143
    Par défaut
    C'est déjà ce que fais mon script, mais le "location" retransmet le referer après redirection.
    C'est justement l'objet de ma question.

  8. #8
    Membre habitué
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2007
    Messages : 87
    Points : 186
    Points
    186
    Par défaut
    Dans ce cas un simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    header("Referer: http://www.google.com");
    header("location: <machin>");
    devrait régler ça non ?

  9. #9
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 201
    Points : 143
    Points
    143
    Par défaut
    C'est la solution que j'ai mentionnée par un lien dans mon premier message et qui ne fonctionne pas (voir réponse de mathieu en haut).

Discussions similaires

  1. Left join: supprimer des references produits
    Par boobi31 dans le forum Requêtes
    Réponses: 8
    Dernier message: 17/12/2008, 13h53
  2. Supprimer une reference rompue
    Par nevil dans le forum VBA Access
    Réponses: 3
    Dernier message: 31/08/2007, 12h56
  3. Réponses: 6
    Dernier message: 10/05/2007, 18h13
  4. supprimer une reference du registre
    Par vascoII dans le forum Windows XP
    Réponses: 10
    Dernier message: 01/12/2006, 14h32
  5. Réponses: 1
    Dernier message: 07/11/2006, 10h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo