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 :

Problème $_SERVER sur IE6


Sujet :

Langage PHP

  1. #1
    Gunner4902
    Invité(e)
    Par défaut Problème $_SERVER sur IE6
    Bonjour à tous,

    J'ai un bout de code PHP qui vise à interdire l'accès d'une page directement et oblige à passer par une autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    if($_SERVER['HTTP_REFERER'] != 'h*ttp://www.site.co.uk/index.php')
    {
    header('Location: h*ttp://www.site.co.uk/index.php');
    }
    ?>
    Celà fonctionne normalement sur Firefox, Opera etc, mais sur IE6, le logiciel loops à l'infini…

    Comment remédier au problème ?

    Merci de votre aide

  2. #2
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Je ne vois pas de rapport direct à priori, mais es tu sur de ta variable
    $_SERVER['HTTP_REFERER']
    Elle n'existe pas sur mes serveurs

    Sinon, je vois plusieurs choses, tu peux essayer en HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="refresh" content="0; url=http://www.site.co.uk/index.php">
    J'ai une question. A quoi correspond ton
    h*ttp:
    Je n'ai jamais vu cela

    Riete

  3. #3
    Gunner4902
    Invité(e)
    Par défaut
    Bonjour Riete,

    $_SERVER["HTTP_REFERER"] est une variable prédéfinies.

    Pour le meta refresh, c'est bien, mais non conditionnel, donc ça ne m'intéresse pas vraiment

    Enfin le h*ttp, c'est pour éviter tout simplement que les moteurs de recherche prennent celà pour une adresse http
    Dernière modification par Domi2 ; 31/03/2011 à 16h39.

  4. #4
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Je viens d'apprendre qq chose grace à toi par rapport au h*ttp.
    Par contre j'insiste (peut être lourdement), mais je viens d'allé voir dans mon phpinfo() et je ne trouve pas la variable $_SERVER['HTTP_REFERER'] et je suis en version 5 de php.
    As tu controlé cela sur ton seurveur?

    le meta refresh pourrait très bien être conditionnel au même titre que ton header Tu ne crois pas ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    if($_SERVER['HTTP_REFERER'] != 'h*ttp://www.site.co.uk/index.php')
    {
    echo "<meta http-equiv=\"refresh\" content=\"0; url=h*ttp://www.site.co.uk/index.php\">"
    }
    ?>

  5. #5
    Gunner4902
    Invité(e)
    Par défaut
    J'ai essayé avec le code que tu m'as donné, celà provoque une erreur 500 (HTTP 500 - Erreur interne de serveur).

    Pour l'absence de $_SERVER['HTTP_REFERER'] dans le compte rendu généré par phpinfo(), c'est norma, cette variable ne peut être présente que si l'on appelle le phpinfo de la page où est le $_SERVER['HTTP_REFERER'] (mais comme elle reboucle sur une autre page, c'est impossible de la lire ).

    Sinon, $_SERVER['HTTP_REFERER'] est bien supporté par PHP5*, et succède à $HTTP_REFERER

    * je suis sur serveur Apache 2.2.4 + PHP Version 5.2.4

  6. #6
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Alors là, j'avoue que je suis perplexe

    Je tourne des serveur apache 1.3.33 alors peut être que ceci explique cela?

    J'ai mis au sale ce bout de code et pour moi il tourne nickel. Je l'ai testé avec IE6 et Safari
    Si ca peut t'aider?
    Il est stocker dans:
    http://tonserveur/test/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    //echo $_SERVER['HTTP_REFERER']."<br>";
     if($_SERVER['HTTP_REFERER'] != 'http://tonserveur/tes/')
     {
     	echo "redirection!!!";
     	echo "<head><meta http-equiv=\"refresh\" content=\"2; url=http://tonserveur/test/\"></head>";
     }
    ?>
    Tiens moi au jus.
    riete

  7. #7
    Gunner4902
    Invité(e)
    Par défaut
    Je viens de le tester sous Apache 2.2.4, et que ça soit sous IE6 ou Opera 9.2.4.
    La page où est mis le code PHP se réactualise en boucle toutes les deux secondes…
    donc ça ne fonctionne pas comme le code initial qui ne fait qu'une seule redirection conditionnelle…

  8. #8
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    Je ne saurais trop te recommander de tester ce code avec une autre version d'Apache.
    Cela devient de plus en plus suspect (bien qu'il vaille mieu être suspect que ... tu connais la suite).

Discussions similaires

  1. Problème de float /de background-color/scroll sur IE6
    Par asandoz dans le forum Mise en page CSS
    Réponses: 0
    Dernier message: 08/04/2010, 21h13
  2. Problème de chargement CSS sur ie6
    Par Cosotbak dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 11/01/2010, 09h41
  3. Problème de positionnement de div sur IE6
    Par hraiwen dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 28/08/2009, 14h03
  4. Problème de CSS sur IE6
    Par rfily dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 19/06/2009, 15h06
  5. [MFC] Problème pointeur sur une classe
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 14/04/2004, 14h17

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