Question

J'ai à l'admin d'un petit site web pour mes anciens du groupe qui est hébergé par mon éditeur de logiciels.L'url est quelque chose comme www.myIsv.com/myWebSite/ qui est assez laid et très forgetable.Le principal administrateur du serveur a enregistré un nom de domaine www.mysmallwebsite.com et de mettre un index.html avec ce contenu:

<html>
<head>
<title>www.mysmallwebsite.com</title>
</head>

<frameset>
   <frame src="http://www.myIsv.com/myWebSite/" name="redir">
      <noframes>
        <p>Original location:
          <a href="www.myIsv.com/myWebSite/">http://www.myIsv.com/myWebSite/</a>
        </p>
      </noframes>
 </frameset>  
</html>

Il fonctionne très bien, mais quelques fonctionnalités comme le PHP, les variables de Session ne fonctionne plus!Quelqu'un a une suggestion pour corriger cela?

Edit:Ce n'est pas un travail à la fois sur IE et sur Firefox (pas de plugins)

Merci

Était-ce utile?

La solution

Les séances sont liés au serveur ET le domaine.L'aide de jeu de cadres à travers le domaine sera la cause de toutes sortes de casse parce que c'est juste pas comment il a été conçu pour faire.

Essayez d'utiliser apache mod de réécriture pour créer un "passthrough " redirection", le "proxy"drapeau ([P]) dans la règle, c'est la magie du drapeau que vous avez besoin

De la Documentation à http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

Autres conseils

Que voulez-vous dire?Dites-vous que quand vous allez de www.mysmallwebsite.com pour www.myIsv.com/myWebSite/ alors la session PHP est perdu?

PHP reconnaît la session avec un IDENTIFIANT (alpha-numérique hash généré sur le serveur).L'ID est passé d'une demande à l'aide d'un cookie appelé PHPSESSID ou quelque chose comme ça (vous pouvez consulter les cookies d'un site web séries avec l'aide de votre navigateur ...sur Firefox, vous avez Firebug + FireCookie et le merveilleux de la Barre d'outils Web Developer ...avec lequel vous pouvez afficher la liste des cookies sans la sueur).

Alors ...PHP est en passant l'ID de session par le cookie PHPSESSID.Mais vous pouvez passer l'ID de session comme une plaine OBTENIR les paramètres de la demande.

Ainsi, si vous placez le lien html vers le truand nom de domaine, en supposant que c'est le même serveur PHP (avec les mêmes sessions initialisé), vous pouvez le mettre comme ça ...

www.myIsv.com/myWebSite/?PHPSESSID=<?=session_id()?>

Je n'ai pas travaillé avec PHP depuis un moment, mais je pense que cela va fonctionner.

Ne les variables de session de travail si vous frappez http://www.myIsv.com/myWebSite/ directement?Il me semble que la configuration du serveur déterminera si oui ou non les sessions de travail.Toutefois, si vous êtes le démarrage d'une session sur www.mysmallwebsite.com d'une certaine manière (ne pas regarder comme si vous êtes à l'aide de PHP, mais peut-être que vous êtes), vous n'allez pas être en mesure de session de transfert de données sans écrire de certains backend logique qui se déplace à la session de serveur à serveur.

Coller un session_start() au début de votre script et voir si vous pouvez accéder aux variables de nouveau.

Ce n'est pas de travail, parce que sur les sessions client sont par domaine.Tous les cookies sont enregistrés pour mysmallwebsite.com, de sorte myIsv.com ne peuvent y avoir accès.

@pix0r www.myIsv.com/myWebSite/ -> variable de session de travail www.mysmallwebsite.com -> variable de session ne fonctionne pas

@Alexandru Malheureusement, ce n'est pas sur le même serveur

Quel navigateur/ de l'annonce sur avez-vous?il peut être de votre navigateur ou un autre logiciel (peut-être même le serveur web) est le blocage de la séances de http://www.myIsv.com/myWebSite/ travail de avec-dans le cadre, comme son trouve sur un autre site, en pensant à sa une attaque XSS.

Si la session de travaux à http://www.myIsv.com/myWebSite/ avec le cadre, vous pouvez toujours nous une redirection à partir d' http://www.mysmallwebsite.com pour l'url brute, au lieu d'utiliser l'image.

EDIT:Je viens d'essayer votre cadre de code sur un site de la mine qui utilise les sessions, firefox a bien fonctionné, avec me connecter et de rester enregistrées, mais IE7 me connecté tout droit sorti de nouveau.

Ainsi, si vous placez le lien html vers le truand nom de domaine, en supposant que c'est le même serveur PHP (avec les mêmes sessions initialisé), vous pouvez le mettre comme ça ...

www.myIsv.com/myWebSite/?PHPSESSID=<?=session_id()?>

À partir d'un point de vue sécurité, j'ai vraiment vraiment vraiment de l'espoir qui ne fonctionne pas

Vous pouvez également définir un cookie sur le côté utilisateur, puis vérifier la présence de cookie directement après la redirection, qui, si vous êtes gêné sur les URLs signifie que vous n'avez pas à passer autour d'un PHPSESSID dans la chaîne de requête.

Quand les gens arrivent @ www.mysmallwebsite.com je voudrais juste rediriger vers http://www.myIsv.com/myWebSite/

<?php header('Location: http://www.myIsv.com/myWebSite/'); ?>

C'est tout ce que j'aurais dans www.mysmqllwebsite.com/index.php
De cette façon, vous n'avez pas à vous soucier de browsedr de compatibilité, ou de temps, les séances de travail, il suffit de faire la redirct, et vous serez bon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top