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 :

Boucle de redirection header Location


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 163
    Par défaut Boucle de redirection header Location
    Bonjour, voici mon pb, je suis sur une page nomée => xxx.php, sécurisée par un mot de pass qui envoie un cookie libérant l'accès au script. Le mot de pass a été entré, il est correct, tout va bien, si je place un lien classique vers une autre page sécurisée yyy.php qui require xxx.php du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="yyy.php">mon lien</a>
    ma page yyy.php apparaît.
    Par contre je ne désir pas passer par un lien et faire une redirection de type "header location" j'obtiens une boucle sans fin du type (sous ff) :
    'Boucle de redirection
    Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas.
    Le navigateur a arrêté d'attendre une réponse du site. Le site crée une redirection de telle sorte que la requête ne peut jamais aboutir.
    * Avez-vous désactivé ou bloqué les cookies nécessaires pour ce site ?
    * NOTE : Si le problème n'est pas résolu en acceptant les cookies de ce site, il s'agit probablement d'un problème de configuration du serveur et non de votre ordinateur.'
    ===> j' ai employé à la première ligne de mon fichier xxx.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?
    header('Status: 301 Moved Permanently', false, 301);
    header('Location: yyy.php');
    exit();
    ?>
    Le plus rageant est que dans ma barre d'adresse l'adresse passe de http://mon_site/xxx.php à http://mon_site/yyy.php
    donc l'évènement se produit bien, l'adresse est correcte, mais ma page n'apparaît pas et j'ai le message de Boucle de redirection...
    Avez vous une solution pour contourner ce problème ? merci par avance à tous les courageux qui comme moi ne sont pas en vacance (lol)

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    hmmm au début de ton post tu dis
    vers une autre page sécurisée yyy.php qui require xxx.php
    donc vala comment je le comprends :

    1] xxx.php fait la vérif
    2] xxx.php ACCEPTE la vérif
    3] xxx.php redirige vers yyy.php
    4] yyy.php est appellée
    5] yyy.php require xxx.php
    6] xxx.php est donc exécutée
    7] et rebelotte à l'étape 1, et ceci en boucle

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 163
    Par défaut
    Bonjour darkstar123456, je crois que tu as parfaitement cerné la structure. As tu une solution ou un conseil à me donner pour éviter cette boucle infernale ?
    Comme je le dis,
    l'évènement se produit bien, l'adresse est correcte, mais ma page n'apparaît pas et j'ai le message de Boucle de redirection...
    Par avance merci, (car je n'ai pas encore résolu ce pb qui me bloque).

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    et bieeen... en toute logique, ce qui a été vérifié ne doit plus l'être...

    donc si xxx.php a tout vérifié et qu'il envoie un header("Location: yyy.php"); alors xxx.php n'a pas besoin d'être inclus dans yyy.php

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 163
    Par défaut
    Ok, mais le prob c'est que si yyy.php contient par exemple (comme c'est le cas) un formulaire voué à intervenir dans le css, il suffirait à n'importe qui de tapper l'adresse : yyy.php et de mettre en toute tranquilité le "bazar" dans le css, avec les concéquences que tu peux imaginer.
    Si la page est protégée, même succintement par xxx.php, n'importe qui ne peut pas entrer dans la page permettant d'accéder au css sans le pass.
    Ok, je pourrais faire une page avec un nom incroyable à la place de yyy.php pour éviter que n'importe qui trouve l'adresse, mais comme cette page sera un document "type" mis à disposition de plusieurs personnes, cette solution serait difficile à gérer... (j'espère que tu me suis, lol, pas facil à expliquer comme ça...)

  6. #6
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    j'ai +/- compris où tu veux en venir... mais tu ne peux pas empêcher les gens de mettre n'importe quoi ^^

    C'est à toi de vérifier que ce qu'on te donne est correct...

    pour se faire tu peux utiliser plusieurs fonction :

    is_int(), is_array(), is_string(), in_array(), isset(), empty(), preg_match(), etc


    de plus, peut-être dans ton cas tu en as besoin, mais sinon tu peux p-e tout faire dans un seul fichier... pourrais-tu lier tes 2 fichiers à ta prochaine réponse ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.3] Redirection header location
    Par hendrix67 dans le forum Langage
    Réponses: 8
    Dernier message: 22/03/2010, 10h35
  2. redirection header("Location :")
    Par Angelik dans le forum Langage
    Réponses: 2
    Dernier message: 02/06/2008, 03h43
  3. Réponses: 3
    Dernier message: 28/01/2008, 22h18
  4. Erreur de redirection (header("location /page.php");)
    Par pierrot10 dans le forum Langage
    Réponses: 6
    Dernier message: 16/08/2006, 08h43
  5. Problème redirection header ('location:
    Par Jiraiya42 dans le forum Langage
    Réponses: 1
    Dernier message: 24/06/2006, 17h08

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