Vra

Ek het na admin'n klein webwerf vir my alumni groep wat aangebied word deur my ISV.Die url is iets soos www.myIsv.com/myWebSite/ wat is baie lelik en baie forgetable.Die hoof admin van die webbediener geregistreer het'n domein naam www.mysmallwebsite.com en sit'n index.html met hierdie inhoud:

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

Dit werk goed, maar sommige funksies soos PHP Sessie veranderlikes nie werk nie!Iemand het'n voorstel vir die regstelling van wat?

Edit:Dit beteken nie werk beide op internet EXPLORER en Firefox (geen plugins)

Dankie

Was dit nuttig?

Oplossing

sessies is gekoppel aan die bediener en die domein. Die gebruik van frameset regoor domein sal al die soort van skade veroorsaak, want dit is net nie hoe dit is ontwerp om dit te doen.

Probeer apache mod herskryf om 'n "pass through verwysing" skep, die " volmag " vlag ([P]) in die reël is die magic vlag wat jy nodig het

Dokumentasie by http://httpd.apache.org/docs/1.3 /mod/mod_rewrite.html

Ander wenke

Wat bedoel jy? Is jy sê dat wanneer jy gaan uit www.mysmallwebsite.com om www.myIsv.com/myWebSite/ dan die PHP sessie verlore?

PHP erken die sessie met 'n ID (alfa-numeriese hash gegenereer op die bediener). Die ID is oorgegaan het uit die versoek om te vra met behulp van 'n koekie genoem PHPSESSID of iets soos dit (kan jy die koekies 'n webwerwe stel met die hulp van die leser kan sien ... op Firefox jy Firebug + FireCookie en die wonderlike Web Developer Toolbar .. . waarmee jy kan die lys van koekies sonder 'n sweet te sien).

So ... PHP is verby die sessie ID deur die PHPSESSID koekie. Maar jy kan slaag die sessie ID as 'n plain GET-versoek parameters.

Wanneer jy die html skakel na die lelike domein naam te plaas, in die veronderstelling dat dit dieselfde PHP bediener (met dieselfde sessies geïnisialiseer), kan jy dit só ...

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

Ek het nie gewerk met PHP vir 'n rukkie, maar ek dink dit sal werk.

Doen sessie veranderlikes werk as jy getref http://www.myIsv.com/myWebSite/ direk?Sou dit blyk te my dat die bediener config sou bepaal of sessies sal werk.Maar, as jy die begin van'n sessie op www.mysmallwebsite.com een of ander manier (nie lyk soos jy is met behulp van PHP, maar miskien is jy), jy is nie van plan om in staat wees om te dra sessie data sonder die skryf van'n paar backend logika wat beweeg die sessie van die bediener bediener.

Hou 'n session_start () aan die begin van jou script en sien as jy weer toegang tot die veranderlikes.

Dit is nie omdat die werk op die kliënt sessies is per-domein. Al die koekies word gespaar vir mysmallwebsite.com, so myIsv.com kan hulle nie toegang.

@ pix0r www.myIsv.com/myWebSite/ -> sessie veranderlike werk www.mysmallwebsite.com -> sessie veranderlike nie werk nie

@Alexandru Ongelukkig is dit nie op dieselfde webbediener

Wat leser / advertensie-op het jy? dit kan jou leser of 'n ander sagteware (dalk selfs die webbediener wees) is die sluit van die sessies van http: / /www.myIsv.com/myWebSite/ werk uit met-in die raam, as sy geleë op 'n ander werf, dink sy 'n XSS aanval.

As die sessie werk by http://www.myIsv.com/myWebSite/ met uit die raam kan jy altyd vir ons 'n aanstuur vanaf http://www.mysmallwebsite.com om die lelike url, in plaas van die gebruik van die raam.

EDIT: Ek het net probeer jou raam kode op 'n terrein van myne wat sessies gebruik, firefox werk goed, met my aan te meld en bly loged in, maar IE7 aangemeld my reguit weer.

  

Wanneer jy die html skakel na die lelike domein naam te plaas, in die veronderstelling dat dit dieselfde PHP bediener (met dieselfde sessies geïnisialiseer), kan jy dit só ...

     

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

Van 'n sekuriteit oogpunt, ek regtig hoop regtig dit nie werk nie

Jy kan ook 'n koekie op die gebruiker-kant en dan gaan vir die teenwoordigheid van daardie koekie direk na redirecting, wat as jy gepla is oor vriendelike URL's sou beteken dat jy nie rondom 'n PHPSESSID in om te slaag die soektog string.

Wanneer mense kom @ www.mysmallwebsite.com sou ek net lei tot http: //www.myIsv. com / my Website /

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

Dit is al wat ek wil in www.mysmqllwebsite.com/index.php
het Hierdie manier waarop jy hoef nie te bekommerd wees oor browsedr verenigbaarheid, of weer die sessies werk, net doen die redirct, en jy sal goed wees.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top