webForumDet fria alternativet

sessioner och annan adress?

PHPur PHP

7 svar · 339 visningar · startad av UrMe

UrMeMedlem sedan apr. 2001762 inlägg
#1

Jag har som vissa kanske känner till haft problem med sessioner och inloggning i vissa olika fall.

Jag har en .tk domän (gratis domän som pekar på en annan adress) som jag pekar på en annan domän.
Och nu har jag märkt att när man använder sig av .tk domänen så verkar det vara problem med sessionerna. Men verkar fungera bra när jag använder den "riktiga" adressen. Kan alltså en sådan här .tk domän påverka hur sessionerna fungerar?

jarvkloMedlem sedan juli 20013 378 inlägg
#2

Hmm...
Det *kan* det nog vara... Men det beror på...

Antar att du fortfarande använder Cookies för sessionsID:t ?

Cookies låses till en viss domän, och om du "blandar" domäner på din webbplats, kan det kanske vara en orsak...

Hur är utpekningen av .tk-domänen inställd?
dvs vilken domän får du cookies ifrån när du går in på webbplatsen?
(du kan kolla genom att ställa in cookie-säkerhetsnivån i IE6 till att du vill godkänna alla cookies manuellt i "Privacy"-fliken i inställningarna)

När du använder relativa länkar:
vilken domän får du i URL:arna av servern?
dvs vilken domän får du cookies ifrån?
Är det samma domän som du startade sessionen från?

OT:
Om det inte är det som problemet, får du nog börja titta på om du måste skapa dig en "Privacy policy" är jag rädd...
MSIE6 var bland de första webbläsarna som *kräver* en privacy-policy av webbplatser i vissa lägen, och därför i vissa fall började uppträda rabiat och blockera en massa cookies för webbplatser som har sidor som går mellan domäner och i vissa fall subdomäner...
Du ser oftast om den har blockat något genom att "röda ögat"-symbolen" (http://msdn.microsoft.com/workshop/graphics/SS_privacyicon.gif ) dyker upp till höger i nedre fönsterlisten när du surfar...

Länkar:

Artikel om cookies och privacy policys på MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpriv/html/ie6privacyfeature.asp
Att skapa en privacy policy:
http://msdn.microsoft.com/workshop/security/privacy/overview/createprivacypolicy.asp
W3C om privacy policies (inklusive policy-validator och länkar till verktyg):
http://www.w3.org/P3P/usep3p.html

UrMeMedlem sedan apr. 2001762 inlägg
#3

Jag får upp http://msdn.microsoft.com/workshop/...privacyicon.gif den symbolen när jag skriver .tk adressen.. så då har det helt klart med det att göra ... tack!

jarvkloMedlem sedan juli 20013 378 inlägg
#4

Ok!

Det mesta man behöver känna till om cookies och P3P-policies finns i (powerpointpresentationen): http://p3pbook.com/p3p-companies0702.ppt

Kolla in sidorna 12-13 speciellt...
På sid 41 kommer den troliga förklaringen till ditt problem:

If third-party content sets cookies, IE6 will block them by default unless they have P3P compact policy
Your first-party cookies may become third-party cookies if your site is framed by another site, a page is sent via email, etc.

Intrikat - IE6 anser alltså i detta läge (med visst fog ;) ) att du är tredjepart till dig själv... ;) !

Jag blev lite nyfiken på problematiken och sökte på php.net efter "p3p" och hittade följande kommentar till http://www.php.net/manual/en/printwn/function.setcookie.php som kanske kan hjälpa dig över problemet:

MSIE 6 has a inaccurate definition of third party cookies. If your domain is hosted on one server and your PHP stuff is on another, the IE6 p3p implementation considers any cookies sent from the second machine "third party".
Third party cookies will be blocked automatically in most privacy settings if not accompanied by what MS considers "an appropriate Compact Policy". In order to make this new piece of tweakable garbage happy I'd suggest you'd par exemple send
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
before sending your cookie from your second machine.
This header enables your cookie to survive any privacysetting.

Om man med "machine" menar "domän" (vilket borde vara det logiska ;) ) så borde det finnas hopp om att detta kan lösa även ditt problem om du lägger raden före session_start() ...

Lycka till!

UrMeMedlem sedan apr. 2001762 inlägg
#5

Tackar! ska läsa igenom det där, men vanligtvis kör jag ju med ett riktigt domännamn. Bara i vissa fall på mindre sidor som jag använder .tk eller nåt liknande.

Men helt klart värt att läsa igenom det där och lära sig! :)

jarvkloMedlem sedan juli 20013 378 inlägg
#6

Jag är ändå lite nyfiken...

Har du möjlighet att testa att lägga in

header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');

på de sidor som slangas ut via ".tk"-domänen och se om "röda ögat" (och sessions-problemet) verkligen försvinner? ;)

UrMeMedlem sedan apr. 2001762 inlägg
#7

Provade nu.. men det försvann inte.. står fortfarande Blocked på de filerna.

jarvkloMedlem sedan juli 20013 378 inlägg
#8

Hrmpf...

Jaja - jag har som sagt inte möjlighet att testa så jag måste ge upp här...
Är du desperat och vill få igång sessionerna även under ".tk"-domänen, så verkar det vara "&PHPSESSID=xxxxxxx" i URL:arna som gäller... :(

Hittar du en lösning, är jag fortfarande intresserad - så du kan väl peta in ett inlägg här om du lyckas lösa det med cookies?

128 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)