kostenloser Webspace werbefrei: lima-city


Session/Cookie Problem unterschiedliche URL

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    esadat

    esadat hat kostenlosen Webspace.

    Hallo zusammen,

    seit Monaten habe ich das Problem, dass wenn ich mich auf meiner Startseite einlogge, auf der Folgeseite erscheint, dass ich nicht eingeloggt sei. Erst nach einem erneuten Login auf der Folgeseite bin ich eingeloggt und kann mich innerhalb der Seiten als eingeloggt bewegen.

    Nun habe ich sämtliche Foren durchsucht, um eine Lösung zu meinem Problem zu finden, leider erfolglos.

    Heute habe ich mir von beiden Seiten die Session-ID's ausgeben lassen und hatte jeweils unterschiedliche ID's.
    Daher konnte der Login auch nicht funktionieren. Auch hierzu habe ich in diversen Foren keine Lösung gefunden - immer nur die Rede von session_start() und so ein bla bla....

    Nun habe ich mir gerade das Cookie angeschaut, in der die Session gespeichert wird. Mir ist aufgefallen, dass 2 Cokkies angelegt werden - mit 2 unterschiedlichen Hosts!!!!!! Hier liegt der Fehler!!!

    Das Problem liegt darin, dass ich auf der ersten Login-Seite ohne vorhergestelltes www. gegangen bin. Diese war auch als URL in meinem Browsercache hinterlegt, wodurch der Fehler immer wieder entstand. Dort habe ich mich eingeloggt und das Cookie schreibt in die Info Host: "esadat.lima-city.de". dann werde ich auf die Folgeseite weitergeleitet, die ich mit www. aufrufe. Da hier kein Cookie mit dem Host existiert wird ein neues Cookie angelegt mit dem Host www.esadat.lima-city.de, weshalb mein 2. Login auch funktioniert hatte.

    Nun meine Frage: Hat jemand eine Idee, wie ich es egal machen kann, ob jemand meine Seite mit www. oder eben nicht aufruft und dennoch die gleiche Session verwendet wird??? Oder ob es eine Möglichkeit gibt, die Seite auf mit www. umzuleiten. Auch für andere Ideen würde ich mich sehr freuen!

    Danke für eure Anworten!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo

    Du kannst es so machen, dass bei Aufruf ohne www.
    immer doch die Seite mit www. geladen wird

    also als Rewrite / Umleitung per .htaccess:
    die Domain immer mit www anzeigen lassen

    .htaccess
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} !^www\.esadat\.lima-city\.de$
    RewriteRule ^(.*)$ http://www.esadat.lima-city.de/$1 [L,R=301]


    So wird man bei Aufruf der Startseite als http://esadat.lima-city.de
    weitergeleitet zu http://www.esadat.lima-city.de

    Dann kann man sich nur auf Seite mit www. einloggen,
    somit sollte das Problem beseitigt sein

    Alternative wäre natürlich, die Unterseiten nicht mit www. zu machen
    also alle Links zu Unter-Seiten in "ohne www." zu ändern.

    wenn Du die Unter-Seiten schon woanders als www-Links hast,
    die du nicht alle ändern kannst / willst, dann kannst Du auch
    als .htaccess für "immer ohne www" machen, das wäre das gleiche wie oben
    nur in der RewriteCond ohne das !
    und in der RewriteRule ohne da www.

    hoffe das hilft :)
  4. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Mach eine .htaccess im obersten Ordner mit folgendem Inhalt:
    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} !^www\.domain\.tld$ [NC]
    RewriteRule ^(.*)$ http://www.domain.tld/$1 [L,R=301]
    Dabei musst du natürlich domain.tld durch deine Domain ersetzen...

    Danach ist deine Seite nur noch unter www.domain.tld erreichbar, wenn du domain.tld aufrufst wirst du automatisch auf www.domain.tld weitergeleitet.

    Wichtig ist das auch noch aus SEO-Gründen, da sonst deine Webseite unter 2 URLs verfügbar wäre...

    // EDIT: irgendwer war schneller und mir ist das nicht angezeigt worden?

    Dafür noch ein Extra:
    Beim login-Formular kannst du als action deine Seite mit www angeben, dann hast du das Problem auch nicht.

    Beitrag zuletzt geändert: 10.6.2012 21:25:01 von hackyourlife
  5. thomasba

    Co-Admin Kostenloser Webspace von thomasba

    thomasba hat kostenlosen Webspace.

    Oder wie bereits im Chat gesagt:

    Die Cookie-Doman auf z.B.
    .example.org
    setzen, dann gilt der Cookie für alle Subdomains.

    Für sessions geht das mit der Funktion session_set_cookie_params, ein kleines Beispiel:
    session_set_cookie_params(0,"/",".example.org");
    session_start();
  6. Autor dieses Themas

    esadat

    esadat hat kostenlosen Webspace.

    Danke für die zahlreichen Lösungsvorschläge!

    Hab das Problem mit folgender Anweisung vor session_start() gelöst:

    session_set_cookie_params(0,"/",".esadat.lima-city.de");

    Damit ist es egal, ob eine Seite mit www. oder nicht aufgerufen wird.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!