SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 28.02.2006, 12:17:36
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
session variable geht manchmal verloren

hallo zusammen.

folgedes script:
anmedeseite (inlude eines config-files in dem das passwort steht und md5 verschlüsselt wird) und verifikation des passwortes. bei erfolgreicher bestätigung wird der md5 schlüssel für das passwort in der variablen $_SESSION['passwd'] abgelegt und die start-seite (adr_main.php) wird geladen.

mittels switch springe ich verschiedene templates an, wo ich immer das config.file include und den dort erstellten md5 schlüssel mit der sessions-variablen vergleiche.
PHP-Code:
session_start();

include(
"config.php");

if(
$_SESSION['passwd'] != $passwort)
{
    die(
$lng['main']['noaccess']);
    exit;

ein unset auf die session gibt es im script nicht, nur beim logout, wird natürlich bereinigt.

das ganze läuft auf zig apache-servern mit php 4.3.8 ohne probleme

nun mein problem.
die variable $_SESSION['passwd'] bleibt mir im script überall erhalten, es sei denn, ich lege neue daten an und refreshe den bildschirm automatisch mit diesem befehl:
Code:
?><meta http-equiv="refresh" content="0;URL=adr_main.php"><?
diese anweisung schliesse ich als reine fehlerquelle eigentlich aus, da ich die zeile noch an z anderen stellen des scripts verwende und dort keinerlei probleme habe.
da schon daten an den browser gesendet wurden, kann ich header befehl nicht verwendet (ich weiss, das ist noch nicht ganz sauber, aber es muss so ja auch gehen), was allerdings am fehler auch keinen unterschied machen würde, ich habe es probiert.
den einzigen unterschied den ich feststellen konnte war der, dass Server API dort wo es läuft auf Apache 2.0 Handler steht und dort wo ich probleme habe Server API auf CGI

was kann ich tun, um die fehlerquelle zu finden und natürlich um den fehler weg zu bekommen ??
error_reporting(E_ALL) gibt mir nichts aus, einzig die sessionsvariable ist weg.

danke

Geändert von sysop (28.02.2006 um 12:26:40 Uhr)
Mit Zitat antworten
  #2  
Alt 28.02.2006, 12:23:47
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: session variable geht manchmal verloren

Zitat:
Zitat von sysop
...bei erfolgreicher bestätigung wird der md5 schlüssel für das passwort in der variablen $_SESSION['passwort'] abgelegt...
PHP-Code:
...
if(
$_SESSION['passwd'] != $passwort)
... 
Wie denn nun? $_SESSION['passwort'] oder $_SESSION['passwd'] ?
Mit Zitat antworten
  #3  
Alt 28.02.2006, 12:25:56
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: session variable geht manchmal verloren

sorry, die variablen sind natürlich gleich, habe mich vertippt es heisst $_SESSION['passwd'].
Mit Zitat antworten
  #4  
Alt 28.02.2006, 12:39:09
Giz Giz ist offline
Junior Member
 
Registriert seit: Apr 2005
Beiträge: 309
AW: session variable geht manchmal verloren

ok.
Speicherst Du nur das Passwort in einer Session-Variable?! Fehlt vielleicht zwischendurch irgendwo ein session_start() ?
Ich weiß nicht, komme mit Deinen Informationen auch nicht weiter.
Mit Zitat antworten
  #5  
Alt 28.02.2006, 18:10:06
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: session variable geht manchmal verloren

hallo

genau deshalb hier die frage, ich stehe wie der ochs vor dem tor.....

ein session_start() das fehlt, nein, alles was passiert wird über ein und das selbe script aufgerufen, also die adr_main.php. dort werden per switch die einzelnen schritte included.

da im adr_main script das session_start() steht, müsste das ja auch klappen (was es ja auch auf 98% der server tut). allerdings gibt es ab und zu mal einen server, wo die sessionsvar einfach verloren geht.

ich habe ein echo auf $_SESSION['passwd'] in der adr_main.php gemacht, nach genau dem html-refresh ist die variable weg, sonst ist sie da. da das session_start() in der adr_main.php steht, kann ich mir null reim drauf machen und weiss überhaupt nicht, wo ich ansetzen könnte. keine fehlermeldungen nix da zum greifen.

ps
ich gebe gerne jede info preis, nur weiss ich selber nicht genau, wo ich ansetzen soll und versuche das ganze zu leserlich als möglich zu beschreiben, sprich kurz.

Geändert von sysop (28.02.2006 um 18:24:02 Uhr)
Mit Zitat antworten
  #6  
Alt 28.02.2006, 20:05:51
Small-Talk Small-Talk ist offline
Junior Member
 
Registriert seit: Jan 2004
Ort: Fredersdorf bei Berlin
Alter: 40
Beiträge: 184
AW: session variable geht manchmal verloren

was passiert denn, wenn die Session-ID direkt angibst?

Code:
<meta http-equiv="refresh" content="0;URL=adr_main.php?PHPSESSID=<?php echo session_id(); ?>">
Mit Zitat antworten
  #7  
Alt 28.02.2006, 20:34:50
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: session variable geht manchmal verloren

super, danke, das klappt !!

jetzt würde mich nur interessieren, wieso dort die session mit übergeben werden muss. wird das nicht automatisch von php gemanaged ?
Mit Zitat antworten
  #8  
Alt 04.03.2006, 21:17:18
Small-Talk Small-Talk ist offline
Junior Member
 
Registriert seit: Jan 2004
Ort: Fredersdorf bei Berlin
Alter: 40
Beiträge: 184
AW: session variable geht manchmal verloren

von php wird das nicht direkt gemanaged.
bei session_start() wird ein Cookie erstellt welches der browser beim klick wieder an den webserver übergibt. Wenn der Browser jetzt dieses Cookie nicht sendet hat php auch keine session-id mehr und generiert wieder eine neue.
Der IE hat in dieser hinsicht nen paar tücken (Microsoft nennt das sicherheit der privatsfähre ich nenn das schwachsin)

http://www.w3.org/P3P/

wenn du dir solch ein teil korrekt erstellst sollte der IE die die cookies richtig senden. -> Das ist aber ne wissenschaft für sich
Mit Zitat antworten
  #9  
Alt 05.03.2006, 11:02:08
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: session variable geht manchmal verloren

Zitat:
Zitat von sysop
jetzt würde mich nur interessieren, wieso dort die session mit übergeben werden muss. wird das nicht automatisch von php gemanaged ?
In der php.ini gibt es die Konfigurationsdirektive session.use_trans_sid. Wenn diese deaktiviert ist, muss allen URLs, die auf Seiten in deinem Projekt verweisen, manuell die Sessionid angehängt werden.
Aber auch wenn session.use_trans_sid aktiviert ist, wird die Sessionid nur in den HTML-Element angehangen, die in url_rewriter.tags angegeben sind.

Geändert von xabbuh (05.03.2006 um 11:02:20 Uhr)
Mit Zitat antworten
  #10  
Alt 05.03.2006, 17:02:21
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: session variable geht manchmal verloren

danke jetzt bin ich wieder um einiges weiter.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

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

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Session Variable nur einmal wiederherstellbar oelsi PHP Grundlagen 15 28.10.2005 22:42:27
Variable in Variable? Giz PHP für Fortgeschrittene und Experten 13 22.07.2005 11:12:00
Ergebniskennung über Session Variable an andere Seiten weitergeben pumuckl PHP Grundlagen 3 23.06.2004 11:18:55
Variable in Session speichern Taresto PHP für Fortgeschrittene und Experten 2 25.05.2003 15:22:02
session überprüfen... Xantos PHP für Fortgeschrittene und Experten 4 21.05.2002 10:54:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:48:05 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt