Domanda

Io sono admin di un sito per il mio gruppo di alumni che è ospitato da mia ISV.L'url è qualcosa di simile www.myIsv.com/myWebSite/ che è molto brutto e molto forgetable.L'amministratore generale del webserver ha registrato un nome di dominio www.mysmallwebsite.com e mettere un index.html con questo contenuto:

<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>

Funziona bene, ma alcune funzionalità, come ad esempio PHP le variabili di Sessione non funziona più!Qualcuno ha suggerimenti per la correzione?

Edit:Questo non funziona sia su IE che su Firefox (senza plugin)

Grazie

È stato utile?

Soluzione

Le sessioni sono legati al server E il dominio.Con set di frame da un dominio a causa tutti i tipi di rottura, perché non è come è stato progettato per fare.

Provare a utilizzare apache mod rewrite per creare un "passthrough di reindirizzamento", il "proxy"bandiera ([P]) la regola è la magia di bandiera che avete bisogno di

La documentazione http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

Altri suggerimenti

Che cosa vuoi dire?Stai dicendo che, quando si passa da www.mysmallwebsite.com per www.myIsv.com/myWebSite/ poi la sessione di PHP è perso?

PHP riconosce la sessione con un ID (alfa-numerico hash generato sul server).L'ID viene passato da richiesta a richiesta di utilizzo di un cookie chiamato PHPSESSID o qualcosa del genere (è possibile visualizzare i cookie di un sito web set con l'aiuto del tuo browser ...su Firefox si dispone di Firebug + FireCookie e il meraviglioso Web Developer Toolbar ...con la quale è possibile visualizzare l'elenco dei cookie senza una goccia di sudore).

Quindi ...PHP è passando l'ID di sessione attraverso il cookie PHPSESSID.Ma si può passare l'ID di sessione come un normale OTTENERE i parametri della richiesta.

Così, quando è posto il link html per il brutto nome di dominio, partendo dal presupposto che è lo stesso server PHP (con le stesse sessioni inizializzato), si può mettere come questo ...

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

Non ho lavorato con PHP per un po', ma penso che questo sarà il lavoro.

Fare le variabili di sessione di lavoro se si ha colpito http://www.myIsv.com/myWebSite/ direttamente?Mi sembra che il server config sarebbe determinare se o non le sessioni di lavoro.Tuttavia, se si sta iniziando una sessione www.mysmallwebsite.com in qualche modo (non guardare come si sta utilizzando PHP, ma forse sono), non si sta andando ad essere in grado di trasferire i dati della sessione, senza scrivere alcune backend logica che muove la sessione da server a server.

Stick un session_start() all'inizio del tuo script e vedere se è possibile accedere alle variabili di nuovo.

Non funziona perché su di sessioni client al dominio.Tutti i cookie vengono salvati per mysmallwebsite.com così myIsv.com non possono accedervi.

@pix0r www.myIsv.com/myWebSite/ -> variabile di sessione di lavoro www.mysmallwebsite.com -> variabile di sessione non funziona

@Alexandru Purtroppo questo non è sullo stesso webserver

Che browser/ ad-on hai?potrebbe essere il vostro browser o qualche altro software (può essere anche il web server) è il blocco sessioni http://www.myIsv.com/myWebSite/ lavoro da con-il telaio, come si trova su un sito diverso, pensare che la sua un attacco XSS.

Se la sessione di lavori a http://www.myIsv.com/myWebSite/ con il telaio si potrebbe sempre un redirect da http://www.mysmallwebsite.com la url brutto, invece di usare il telaio.

EDIT:Ho appena provato il tuo codice telaio su un sito di mio che utilizza le sessioni, firefox ha funzionato bene, con me, l'accesso e la permanenza presentato, ma IE7 registrato dritto di nuovo.

Così, quando è posto il link html per il brutto nome di dominio, partendo dal presupposto che è lo stesso server PHP (con le stesse sessioni inizializzato), si può mettere come questo ...

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

Da un punto di vista della sicurezza, io davvero spero davvero che non funziona

Si potrebbe anche impostare un cookie sul lato utente e quindi verificare la presenza del cookie direttamente dopo il reindirizzamento, che se sei preoccupato friendly Url vorrebbe dire che non devi passare circa un PHPSESSID nella stringa di query.

Quando le persone arrivano @ www.mysmallwebsite.com vorrei solo reindirizzare ad http://www.myIsv.com/myWebSite/

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

Questo è tutto, avrei in www.mysmqllwebsite.com/index.php
In questo modo non dovete preoccuparvi di browsedr di compatibilità, o il tempo le sessioni di lavoro, basta fare il redirct, e ti troverai bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top