Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Session på tværs af med og uden www

3 views
Skip to first unread message

J�rn Andersen

unread,
Feb 15, 2013, 6:34:56 AM2/15/13
to
Hej,

Hvordan styrer I Session p� tv�rs af om folk bruger www.domain.tld
eller bare domain.tld?

Som bekendt er mange web-servere (incl. dem jeg har med at g�re) sat
op, s� www-subdom�net peger p� "selve" dom�net - alts� s� folk f�r
samme resultat, hvad enten de bruger www. eller ej.
(Det kan man mene meget om, men det er irrelevant lige nu.)

Men serveren opfatter Session-variable sat p� www.domain.tld som
forskellige fra dem, der er sat p� domain.tld.

Ofte er det ikke et problem, fordi folk kommer fra den ene side til
den n�ste via lokale links eller lokale form posts.

Men fx i forbindelse med en betalingsportal (i mit tilf�lde), hvor
betalingsportalen laver callback, efter at folk har v�ret inde p� den
og betale, kan folk v�re startet p� www, mens callback'en er sat til
at lande p� en side uden www - med det resultat, at man ikke kan give
brugeren et p�nt svar p� betalings-processen.

Umiddelbart vil min l�sning v�re at tvinge folk til at starte fx p� en
side uden www og have callback'en til ligeledes at lande p� en side
uden www (eller omvendt).

Hvad plejer I at g�re?

Mvh. J�rn

X-post: dk.edb.internet.webdesign.serverside.asp,
dk.edb.internet.webdesign.serverside.php
FUT: dk.edb.internet.webdesign.serverside.php
(Jeg st�dte p� problemet p� en ASP (Classic)-side, men jeg g�r ud fra,
at problemet er det samme p� PHP-sider.)

--
J�rn Andersen
http://socialister.dk
http://marxisme.dk

scootergrisen

unread,
Feb 15, 2013, 6:59:00 AM2/15/13
to
Kan du ikke bare viderestille www subdomænet til hoveddomænet i
.htaccess hvis du bruger Apache ?

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.scootergrisen.dk$ [NC]
RewriteRule ^(.*)$ http://scootergrisen.dk/$1 [R=301,L]

J�rn Andersen

unread,
Feb 15, 2013, 8:37:37 AM2/15/13
to
On Fri, 15 Feb 2013 12:59:00 +0100, scootergrisen <NEJ...@TILSPAM.DK>
wrote:

>Kan du ikke bare viderestille www subdom�net til hoveddom�net

Jo.

>i .htaccess hvis du bruger Apache ?

Jeg bruger IIS, men der kan viderestilles p� andre m�der.

Mit sp�rgsm�l gik mest p�, om der var andre l�sninger.

Jeg s� et sted (som jeg ikke kan finde lige nu) en ASP.Net-l�sning,
hvor man gjorde sine session-cookies tilg�ngelige begge steder. Men om
det er en god l�sning ved jeg ikke.

Mvh. J�rn

Kim Ludvigsen

unread,
Feb 15, 2013, 8:58:55 AM2/15/13
to
Jørn Andersen skrev:

> Jeg bruger IIS, men der kan viderestilles på andre måder.
>
> Mit spørgsmål gik mest på, om der var andre løsninger.

Selv hvis der er, så brug alligevel metoden med at
viderestille. Når du har samme side liggende på både
domæne.tld og www.domæne.tld, så opfatter Google det som to
forskellige sider med duplikeret indhold, hvad det da også
er, og siderne rangeres derfor lavere.

--
Mvh. Kim Ludvigsen
Gør din hjemmeside mere intelligent, begynderguide om PHP:
http://kimludvigsen.dk/programmer-internet-kompozer-trin-php.php

Martin

unread,
Feb 15, 2013, 9:09:31 AM2/15/13
to
On 15-02-2013 12:34, Jørn Andersen wrote:
> Hej,
>
> Hvordan styrer I Session på tværs af om folk bruger www.domain.tld
> eller bare domain.tld?
>
> Som bekendt er mange web-servere (incl. dem jeg har med at gøre) sat
> op, så www-subdomænet peger på "selve" domænet - altså så folk får
> samme resultat, hvad enten de bruger www. eller ej.
> (Det kan man mene meget om, men det er irrelevant lige nu.)
>
> Men serveren opfatter Session-variable sat på www.domain.tld som
> forskellige fra dem, der er sat på domain.tld.
>
> Ofte er det ikke et problem, fordi folk kommer fra den ene side til
> den næste via lokale links eller lokale form posts.
>
> Men fx i forbindelse med en betalingsportal (i mit tilfælde), hvor
> betalingsportalen laver callback, efter at folk har været inde på den
> og betale, kan folk være startet på www, mens callback'en er sat til
> at lande på en side uden www - med det resultat, at man ikke kan give
> brugeren et pænt svar på betalings-processen.
>
> Umiddelbart vil min løsning være at tvinge folk til at starte fx på en
> side uden www og have callback'en til ligeledes at lande på en side
> uden www (eller omvendt).
>
> Hvad plejer I at gøre?
>
> Mvh. Jørn
>
> X-post: dk.edb.internet.webdesign.serverside.asp,
> dk.edb.internet.webdesign.serverside.php
> FUT: dk.edb.internet.webdesign.serverside.php
> (Jeg stødte på problemet på en ASP (Classic)-side, men jeg går ud fra,
> at problemet er det samme på PHP-sider.)
>

I din virtualhost på serveren hedder det fx. følgende

ServerName domain.tld
ServerAlias www.domain.tld

Nu vil alle dine sessions være baseret på servername, og alias er den
egentlig ret ligeglad med.

Men hvis du har 2 virtualle host fx

<VirtualHost *>
ServerName domain.tld
DocumentRoot /var/www
</VirtualHost>

<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /var/www
</VirtualHost>

Så vil din session IKKE være den samme, selvom de peger samme sted hen.
Så kan du via session_set_cookie_params* sætte det korrekte domain

* http://www.php.net/manual/en/function.session-set-cookie-params.php

runeof...@hotmail.com

unread,
Feb 15, 2013, 3:13:34 PM2/15/13
to
On 15 Feb., 12:34, J rn Andersen <j...@jorna.dk> wrote:

> Umiddelbart vil min l sning v re at tvinge folk til at starte fx p en
> side uden www og have callback'en til ligeledes at lande p en side
> uden www (eller omvendt).

Lav en 301 redirect fra non-www til www-udgaven, så undgår du cookie-
problemet, og du undgår visse SEO-problemer.

Jeg tror, årsagen til, du får problemer er, at www er et underdomæne.

Cookes sat på hoveddomænet bør rent logisk ikke kunne læses på et
underdomæne (da det har lavere "rang"), mens det omvendte bør være
tilfældet (hoveddomæne ejer jo underdomænet).

Jeg skriver "tror", fordi det er sådan, jeg har oplevet min erfaring
med det...

Anyways, ved at sætte en 301 redirect undgår du tvetydighederne.


Så er der andre ting, som et PS, som f.eks. om du bruger HttP-ONLY
cookies (disse kan ikke læses af javascript), og om du bruger HttPS
(som kræver certifikat). Ligesåsnart det er noget med penge eller
personlige data ville jeg undersøge de muligheder.


MVH
Rune Jensen
0 new messages