Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Sessions und der Internet-Explorer... (https://www.delphipraxis.net/41383-%5Bphp%5D-sessions-und-der-internet-explorer.html)

Markus 2. Mär 2005 17:34


[PHP] Sessions und der Internet-Explorer...
 
Hallo,

ich habe ein Problem mit PHP-Sessions und dem Internet-Explorer. Und zwar habe ich die Scripte nach diesem Tutorial erstellt. Mit Firefox klappt auch alles wunderbar, aber nicht mit dem Internet Explorer. Die Benutzer können sich zwar einloggen, sind aber sofort danach wieder ausgeloggt. Dies ist auch nicht immer so, aber leider sehr oft.

Weiß jemand an was das liegt und was man dagegen machen kann?

Grüße,
Markus

jfheins 2. Mär 2005 17:57

Re: [PHP] Sessions und der Internet-Explorer...
 
Guck dir mal das hier an ...
http://www.delphipraxis.net/internal...=327136#327136

Meflin 2. Mär 2005 18:00

Re: [PHP] Sessions und der Internet-Explorer...
 
poste doch mal deinen code. prinzipiell ist so ein script nämlich browserunabhängig, da php bekanntlich auf dem server ausgeführt wird ;)


Markus 2. Mär 2005 18:06

Re: [PHP] Sessions und der Internet-Explorer...
 
Okay, hier mal Code-Auszüge:

checkuser.php
Code:
function checkuser()
{
   session_start ();
   if (!isset ($_SESSION["user_id"]))
   {
     return "0";
   }
   else
   {
      return "1";
   }
}
Login:
Code:
if ($action == "login")
{
   include "db_config.php";
   $verbindung = @mysql_connect($db_server, $db_user , $db_passwort);
   @mysql_select_db($datenbank, $verbindung);

   $sql = "SELECT id, login, nachname, vorname, anzahlbilder FROM benutzer WHERE (login like '".$_REQUEST["login"]."') AND (passwort = '".Base64_Encode ($_REQUEST["passwort"])."')";
   $result = mysql_query ($sql);

   if (mysql_num_rows ($result) > 0)
   {
     $data = mysql_fetch_array ($result);

     $_SESSION["user_id"] = $data["id"];
     $_SESSION["user_login"] = $data["login"];
     $_SESSION["user_nachname"] = $data["nachname"];
     $_SESSION["user_vorname"] = $data["vorname"];
     $_SESSION["user_anzahlbilder"] = $data["anzahlbilder"];
   }
   else
   {
      $falschedaten = 1;
   }
}
Aufruf zum Überprüfen des Logins:
Code:
include "checkuser.php";
if (checkuser() == "1") {echo "Eingeloggt";}
else {echo "Ausgeloggt";}
Auf der index.php steht am Anfang ein session_start().

Wie gesagt, im Firefox geht alles wunderbar, im IE dann nicht mehr...

Meflin 2. Mär 2005 18:13

Re: [PHP] Sessions und der Internet-Explorer...
 
wieso zweimal session_start? (am anfang und in der funktion) da werden ja praktisch 2 cookies gesetzt, mach das mal auf alle fälle raus ;)


Markus 2. Mär 2005 18:17

Re: [PHP] Sessions und der Internet-Explorer...
 
Oh, sorry, das ist schon raus. Hab die Funktion von lokaler Quelle genommen, online ist es schon raus. Auf jeden Fall gehts damit auch nicht.

Markus 2. Mär 2005 18:29

Re: [PHP] Sessions und der Internet-Explorer...
 
Ich denke, ich bin einen Schritt weiter. Wenn ich im Internet-Explorer die Cookie-Einstellungen auf "Alle Annehmen" , und zwar bei "Cookies von Erstanbietern", dann geht es.

Aber an was liegt das nun? Ich kann ja nicht von allen Benutzer verlangen, ihren Internet-Explorer darauf einzustellen.

Meflin 2. Mär 2005 18:31

Re: [PHP] Sessions und der Internet-Explorer...
 
nunja, sessions sind nichts anderes als cookies ;) der user muss sie also auch annehmen, sonst wird das nix, da geht (mit sessions) kein weg dran vorbei!


Markus 2. Mär 2005 18:34

Re: [PHP] Sessions und der Internet-Explorer...
 
Aber warum geht die Session z.B. in meinem Forum (phpbb) und nicht auf meiner eigenen Homepage? Liegt alles auf dem selben Server...

Chewie 2. Mär 2005 19:08

Re: [PHP] Sessions und der Internet-Explorer...
 
Du kannst einstellen, ob die Session-ID an alle Links per GET angehängt werden soll, dann klappts auch ohne Cookies.

Markus 2. Mär 2005 19:09

Re: [PHP] Sessions und der Internet-Explorer...
 
Das werd ich mir mal ansehen, hab aber auch gehört, dass das nicht besonders sicher sei...

Chewie 2. Mär 2005 19:16

Re: [PHP] Sessions und der Internet-Explorer...
 
Zitat:

Zitat von Markus
Das werd ich mir mal ansehen, hab aber auch gehört, dass das nicht besonders sicher sei...

Das Risiko hierbei ist, dass jemand ganz einfach deine Session "hijacken" kann, wenn er den Link aus der Browserzeile rauskopiert. Bei Cookies müsste er ein, zwei Mausklicks mehr machen ;)

Markus 2. Mär 2005 19:19

Re: [PHP] Sessions und der Internet-Explorer...
 
Kann ich nicht irgendwie sagen, dass er die Session nur per URL übergeben soll, wenns per Cookie nicht geht?

idontwantaname 2. Mär 2005 19:30

Re: [PHP] Sessions und der Internet-Explorer...
 
hänge an urls eifach immer SID an, also
Code:
echo '[url="seite2.php?' . SID . '"]link[/url]';
[edit]wenn coookies erlaubt sind dann steht da halt: seite2.php?, wenn nicht, dann: seite2.php?PHSESSID=232231...

Chewie 2. Mär 2005 20:51

Re: [PHP] Sessions und der Internet-Explorer...
 
Zitat:

Zitat von Markus
Kann ich nicht irgendwie sagen, dass er die Session nur per URL übergeben soll, wenns per Cookie nicht geht?

Doch, genau das macht PHP in der Standard-Einstellung. Leider finde ich gerade nicht den Namen der Option, mit der du das einstellen kannst :?

Markus 4. Mär 2005 15:11

Re: [PHP] Sessions und der Internet-Explorer...
 
Das Problem ist, es würde sehr lange dauern, bis ich ALLE links mit der SID versehen habe.

Kennt jemand anders die Funktion, mit der man es so einstellen kann, das die SID automatisch in der URL übergeben wird, wenn der Cookie nicht geht?

Meflin 4. Mär 2005 17:11

Re: [PHP] Sessions und der Internet-Explorer...
 
ich nehme an das ist das ding:
Zitat:

Zitat von php.ini
; Whether to use cookies.
session.use_cookies = 1

setz das ding einfach auf 0 oder 1, jenachdem was bei dir nicht dortsteht ;)


Markus 4. Mär 2005 17:42

Re: [PHP] Sessions und der Internet-Explorer...
 
Das Problem ist, ich kann die php.ini ja nicht bearbeiten, ist ja nicht mein Server. Die Seite liegt bei http://www.funpic.de ...

alcaeus 4. Mär 2005 17:44

Re: [PHP] Sessions und der Internet-Explorer...
 
Hallo Markus,

sieh dir meine Loesung bzw. eine direkte PHP-Loesung an.

Greetz
alcaeus

Markus 4. Mär 2005 18:11

Re: [PHP] Sessions und der Internet-Explorer...
 
Das sieht schon mal super aus. Jetzt bleibt nur noch die Frage, wie ich überprüfen kann, ob der Cookie akzeptiert wurde oder nicht. Denn wenn es mit Cookies geht, will ich es auch damit machen...

alcaeus 4. Mär 2005 18:18

Re: [PHP] Sessions und der Internet-Explorer...
 
Also, ich kann dir da nur eines empfehlen: lade dir phpBB runter und sieh dir den Code an. Dort wird die SID im Cookie gespeichert, und falls das nicht klappt, dann eben ueber die URL. Wie das jetzt genau funktioniert weiss ich im Moment aber auch nicht :oops:

Greetz
alcaeus

phlux 4. Mär 2005 18:20

Re: [PHP] Sessions und der Internet-Explorer...
 
hallo markus :hi:
habe gestern "zufällig" das gleiche tut nachgeproggt
einer meiner fehler war das ich nicht in jeder seite in der ich die session nutze am anfang des codes
session_start() geschrieben habe, vllt hilft dir das weiter.

@meflin: sessions sind definitiv nichts äquivalentes zu cookies, bei cookies werden die informationen lokal gespeichert bei sessions jedoch auf den server, sessions nutzen nur nen cookie damit du nicht jedes mal per url die sessionid mit übermitteln musst!

Markus 4. Mär 2005 18:26

Re: [PHP] Sessions und der Internet-Explorer...
 
Also das mit dem session_start() ist bei mir richtig, denke ich. Es taucht nur einmal auf, und zwar auf der index.php. Alle anderen Dateien werden dort mit include eingebunden.

Also ich hab mit phpBB mal angeschaut, aber ich denke, dass mit das zu kopmpliziert ist.

Ich bin nun schon ein Stück weiter. Ich kann mit output_add_rewrite_var('var', 'value') an Links etwas anhängen, das Problem ist jedoch, dass ich nicht weiß, wie ich die Session-ID rausbekommen kann. Die Konstante SID enthält sie zwar, aber in der Form PHPSESSION=234l2h4ksjfww usw., und ich bräuchte NUR die ID ohne den Variablennamen...

alcaeus 4. Mär 2005 18:31

Re: [PHP] Sessions und der Internet-Explorer...
 
Hallo markus,

dann schneid doch den Teil bis zum '=' mit strpos und substr weg...

Greetz
alcaeus

Markus 4. Mär 2005 18:52

Re: [PHP] Sessions und der Internet-Explorer...
 
Vielen Dank an alle, jetzt geht es. Ich muss gar nicht überprüfen, ob der Cookie gesetzt ist, denn wenn ja, dann ist SID sowieso leer...

Meflin 5. Mär 2005 13:42

Re: [PHP] Sessions und der Internet-Explorer...
 
Zitat:

Zitat von phlux
@meflin: sessions sind definitiv nichts äquivalentes zu cookies, bei cookies werden die informationen lokal gespeichert bei sessions jedoch auf den server, sessions nutzen nur nen cookie damit du nicht jedes mal per url die sessionid mit übermitteln musst!

ich weis ;) aber eigentlich kenn ich keinen hoster der so konfiguriert ist dass sessions kein cookie verwenden ;) die standardeinstellung ist eben mit cookie, deshalb...



Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz