Portal > Foren > PHP > PHP-Programmierung > Session-Handling
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 11.11.2005, 10:54 Nach oben    #1
Benutzer
 
Registriert seit: 05.11.2005
Beiträge: 38
Standard Session-Handling

Hallo,

ich möchte gerne wissen, wie ich das Session-Handling am besten bewerkstellige - ihr habt da doch sicherlich schon reichlich Erfahrung. Die Session sollte nur im Notfall per URL übertragen werden. Die Sessions sollten in einer Datenbank gespeichert werden (mit IP) um fremde Nutzung auszuschließen (zB nach dem Post der Session in einem Forum). Wie macht ihr das? Die Session sollte den Namen "meineseite" bekommen und die ID möchte ich selber generieren. Ich bitte um Tips und Tricks.

Gruß

Gast
Gast ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 11:06 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.378
Standard

Erste Frage: Warum willst du das Session-Id selbst vergeben?


Also,
ich bin nicht gerade ein Freund von Cookies, aber halte das für die sauberste Lösung, dort die SessionID zu hinterlegen. Wenn der client keine Cookies akzeptiert, dann muss die SessionID allerdings anderweitig übergeben werden - ist ja klar!
Dafür bevorzuge ich dann die URL.

Warum solltest du die IP mit abspeichern wollen?
Die user von AOL, zB nutzen beim Besuchen der webseiten stets andere IP, weil sie über versch. Server verbunden werden. Damit fällt die IP als unsicheres Mittel aus!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 13:13 Nach oben    #3
Benutzer
 
Registriert seit: 05.11.2005
Beiträge: 38
Standard

Mhm .. das Problem ist fogendes. Ich habe auf einem Server mehrere Seiten laufen. Wenn ich nun die eine besuche und mich einlogge und danach die andere Seite besuche (unterschiedliche Domains), dann bin ich dort auch bereits eingeloggt ^^ Deswegen dachte ich, nenne ich die eine Session "seite_eins" und die zweite Session "seite_zwei". Oder wie kann ich diesen Bug sonst beseitigen? Das mit der IP ist so gedacht, dass, wenn wein Link inklusive Session in einem Forum gepostet wird, der darauf klickende aufgrund einer anderen IP trotzdem keinen Zugriff auf die Sessiondaten bekommt.
Gast ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 14:22 Nach oben    #4
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.378
Standard

den Gedanken mit der IP verstehe ich, aber ... ich denke nicht, dass das klappen wird!

Ich denke aber, das die anderen Jungs hier im Forum noch Ideen haben!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 14:52 Nach oben    #5
Goldman.de
 
Benutzerbild von J33d3X
 
Registriert seit: 09.10.2005
Ort: Frankfurt am Main
Beiträge: 190
Standard

Zitat:
mich einlogge und danach die andere Seite besuche (unterschiedliche Domains), dann bin ich dort auch bereits eingeloggt
dann stimmt dein Handling nicht .... unterchiedliche domains und die Cookies sollen Schuld daran sein ???

wenn man sich angewöhnt für jede Anwendung ein Prefix zu definieren
sei es als Prefix für Cookies oder DB-Tabellen oder um nur ganz simpel seine
seite vor fremden include schützen

Code:
if (!defined('KONSTANTE_PREFIX'))
  die ('Hacking attemp!!!');
mfg
J33d3X ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 15:55 Nach oben    #6
Benutzer
 
Registriert seit: 05.11.2005
Beiträge: 38
Standard

Also auf beiden Seiten starte ich die Session mit session_start() ... nach dem Login auf der ersten Seite setze ich $_SESSION['userid'] ... nun kann liest die zweite Seite leider auch die Session-Daten der ersten Seite - wie also kann ich das lösen?
Gast ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 16:03 Nach oben    #7
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 459
Standard

Auf Seite 1:
PHP-Code:
define('PREFIX''seite1');
$_SESSION[PREFIX.'_userid'] = ... 
Auf Seite 2:
PHP-Code:
define('PREFIX''seite2');
$_SESSION[PREFIX.'_userid'] = ... 
__________________
Corvin ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 16:05 Nach oben    #8
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.378
Standard

eine Möglichkeit wäre - aber diese ist eigentlich nicht sauber - für die versch. Domains versch. temp-Verzeichnisse zu wählen, in welcher die session-Daten gespeichert werden.

session_save_path()
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 16:05 Nach oben    #9
Benutzer
 
Registriert seit: 05.11.2005
Beiträge: 38
Standard

Ok ... wäre eine Idee .. aber mit unterschiedlichen Sessions geht das nicht irgendwie, also dass ich die eine Session als "seiteeins" bennen und die andere als "seitezwei" ?
Gast ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 16:06 Nach oben    #10
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.378
Standard

du meinst sowas?
session_name()
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 16:09 Nach oben    #11
Benutzer
 
Registriert seit: 05.11.2005
Beiträge: 38
Standard

Und wie wende ich das dann an?

session_start();
session_name('seiteeins');

... und dann beziehen sich alle Zuweisungen auf die oben genannte Session? Und was ist, wenn ich der Session dann auf Seite zwei einen anderen Namen zuweise und die ID ja scheinbar gleich bleibt ... verfallen dann die Werte von Seite 1?
Gast ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 16:11 Nach oben    #12
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 459
Standard

Zitat:
Zitat von Gast
Und wie wende ich das dann an?

session_start();
session_name('seiteeins');
Nein, so:
PHP-Code:
session_name('seiteeins');
session_start(); 
Zitat:
Zitat von Gast
... und dann beziehen sich alle Zuweisungen auf die oben genannte Session?
Ja.
__________________
Corvin ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 16:20 Nach oben    #13
Benutzer
 
Registriert seit: 05.11.2005
Beiträge: 38
Standard

Ok ... vielen Dank, werde das mal alles ausprobieren.
Gast ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 21:01 Nach oben    #14
Benutzer
 
Registriert seit: 05.11.2005
Beiträge: 38
Standard

Was genau ist eigentlich der Unterschied zwischen der ID und dem Namen ... was unterscheidet sie, in welcher Beziehung stehen sie zueinander?
Gast ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 11.11.2005, 22:03 Nach oben    #15
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.378
Standard

nachdem du - wir Corvin dir beschrieben - die Session deklariert hast kannst du mal ein echo folgender Art machen:
[php]<?php

echo 'session_name( '.session_name().'<br />';
echo 'session_id()'.session_id();

?>[php]
Dann kennst du den Namen und die Id!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.11.2005, 14:11 Nach oben    #16
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Hab mir nicht das ganze Topic durchgelesen, habe aber denk ich das, was du suchst :>

http://lars.spacefish.biz/class.session.php
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 12.11.2005, 15:16 Nach oben    #17
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.378
Standard

@Lars: sein Problem ist, dass er scheinbar die Session von einer Domain auf die andere überträgt - das aber nicht will!
__________________

Umfragen:
bitte beachten: Vorschläge für künftige Umfragen
Woher weißt du vom developers-guide?

Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Schreibe ein Tutorial und beschreibe, wie es geht, was nicht klappt, wo man aufpassen muss usw.
Danke!
Jann Hendrik ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2005, 11:48 Nach oben    #18
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 238
Standard

Denke das passt hier mit in den Thread.

Stehe etwas auf dem schlauch mit meinem Templatesystem.

Ich speichere Variablen die es zu ersetzen gilt wie folgt ab.

Aufruf:
PHP-Code:
$this->tpl->assign('name','replaceContent'); 
Scriptteil:
PHP-Code:
public function assign($rep,$repContent) {
    
$_SESSION['assign'][$rep] = $repContent;

Nun mache ich mit einem einfachen foreach eine schleife und
ersetzte die jeweiligen gefundenen html inhalte {name} mit den
in dem Array befindlichen mittels str_replace.

PHP-Code:
foreach ($_SESSION['assign'] as $key => $unit)
    
$this->tpl str_replace($this->left.$key.$this->right$unitthis->tpl);

unset(
$_SESSION['assign']); 
Nun habe ich das Problem wenn ich eine Variable ändere das diese Änderung
erst mit dem 2ten refresh im Browser erkennbar ist. Wie bekomme ich es
gebacken das dies schon beim ersten mal passiert ?

__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2005, 13:31 Nach oben    #19
me pro ok?
 
Benutzerbild von Lars
 
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
Standard

Liegt an den Browser-Einstellungen, soviel kann ich dir mit Sicherheit sagen

Überprüfe mal deine Cache-Einstellungen.
__________________
Gedanken aus Draht stricken einen Zaun.
Lars ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 13.12.2005, 13:51 Nach oben    #20
Verplanter Benutzer
 
Registriert seit: 14.12.2004
Beiträge: 238
Standard

Ok, danke ich schau mal.
__________________
Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut.
Ich such immer noch den Cheat für unlimited money!
DasMööp ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Session Sicherheitsfrage phpdev PHP-Programmierung 24 23.08.2007 22:38
SESSION übergabe automatisch? web2 PHP-Programmierung 3 28.02.2007 14:00
Mails empfangen / versenden "Access to default session denied" Robinson Allgemeine Java-Programmierung 0 14.12.2005 15:11
Session - Projekt Kommunikation DasMööp PHP-Programmierung 17 23.08.2005 00:02
[PHP] Daten per Session übergeben Ben Tutorials 0 14.12.2004 14:34


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:29 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45