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 ::

Das Zend Framework

Das Zend Framework 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

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

Antwort
 
Themen-Optionen Ansicht
  #31  
Alt 30.12.2007, 03:49:12
rambi
Guest
 
Beiträge: n/a
AW: Session Re-Loaden

Zitat:
Ob man nach dem write_close() noch $_S...
Nein, das muß nicht!

@PHP-CODER
Mindestens drei mal habe ich es gelesen.... und bin doch etwas verwundert...
Nunja.. dein Vertrauen in die PHP Sessionverwaltung und irgendwelche Admins die du noch nie gesehen hast, halte ich für arg überzogen.
Aber da ich ja keine Ahnung habe......
Mit Zitat antworten
  #32  
Alt 30.12.2007, 04:22:46
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 53
Beiträge: 1.020
AW: Session Re-Loaden

Zitat:
Zitat von rambi Beitrag anzeigen
Nein, das muß nicht!
Getestet oder schreibst Du das nur aus dem Bauch heraus? Löschen oder Überschreiben session_write_close() und/oder ein erneutes session_start() $_SESSION sicher? Ich nehme es auch an, aber es geht um Gewissheit.
edit: getestet. Ja, session_start() weisst in jedem Fall $_SESSION ein komplett neues array zu, nach session_write_close() stehen die Daten allerdings weiter zur Verfügung.

Zitat:
Zitat von rambi Beitrag anzeigen
Nunja.. dein Vertrauen in die PHP Sessionverwaltung und irgendwelche Admins die du noch nie gesehen hast, halte ich für arg überzogen.
Was macht Dich denn so unglaublich mistrauisch der Sessionverwaltung gegenüber? Im Grunde dürftest Du dann Sessions unter PHP doch überhaupt garnicht einsetzen. Tust Du's? Genau was kann Deiner Meinung nach mit der Sessionverwaltung schief gehen? Die doppelte ID Vergabe ist es nicht.
Und was soll die Scheindiskussion um die Anzeige von Sessiondaten? Würde das von Dir vorgeschlagene Logging denn prinzipiell weniger Daten ausspucken?
__________________
Wat der Bauer nich kennt, dit frisster nich.

Geändert von defabricator (30.12.2007 um 05:56:31 Uhr)
Mit Zitat antworten
  #33  
Alt 30.12.2007, 13:48:48
rambi
Guest
 
Beiträge: n/a
AW: Session Re-Loaden

Natürlich ist das getestet!
Wenn ich mir nicht !00% sicher bin, schreibe ich solche Wörter wie etl., bestimmt, wird wohl, müsste eigendlich ... usw.

Die Sessionverwaltung von PHP ist eigendlich ganz Klasse! Hat allerdings den kleinen Haken, dass man sich als Programierer um die Sicherheit selber kümmern muß. Eingebaute Unterstützung, seitens PHP gibts da so direkt nicht. Sie ist als Basis OK, aber mit der Pflicht sie auszubauen. Eine selbstgebastelte Sessionverwaltung wird immer ähnlich aussehen bzw. dieselbe Grundfunktionalität beinhalten müssen. Dann kann man doch auch die Vorhandene nehmen und etwas aufblasen..

Wie du schon sagst: Die doppelte ID Vergabe ist so selten, dass man sie fast vernachlässigen kann. Aber auch nur fast. Und der Schutz dagegen, fällt bei den zu treffenden Maßnahmen automatisch mit ab. also kein Mehraufwand nötig.

Und ja, ich bin ein gebranntes Kind. Damals war ich noch so blauäugig wie ihr... session_start() an den Anfang und evtl noch für User mit Adminrechten Cookies vorraussetzen. Aus die Laube!
Wie man sich doch täuschen kann!
Mit Zitat antworten
  #34  
Alt 30.12.2007, 16:49:49
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 53
Beiträge: 1.020
AW: Session Re-Loaden

Zitat:
Zitat von rambi Beitrag anzeigen
Wie du schon sagst: Die doppelte ID Vergabe ist so selten, dass man sie fast vernachlässigen kann. Aber auch nur fast. Und der Schutz dagegen, fällt bei den zu treffenden Maßnahmen automatisch mit ab. also kein Mehraufwand nötig.
Und "der Schutz" wird bei "unserer" Maßnahme nicht verringert. Das hat also einfach nichts mit dem Thema zu tun. Wenn doch, dann belege das bitte. Nicht nur behaupten, belegen.

Zitat:
Zitat von rambi
Und ja, ich bin ein gebranntes Kind. Damals war ich noch so blauäugig wie ihr... session_start() an den Anfang und evtl noch für User mit Adminrechten Cookies vorraussetzen. Aus die Laube!
Wie man sich doch täuschen kann!
Ach ja, damals, zu Kaisers Zeiten. Los jetzt, endlich was handfestest. Was genau passiert schlimmes? Was geht schief? Belege, Argumente, Quellen, Beweise, kein Gossip bitte. Und btw ich kenne php noch aus den 3er Zeiten.

p.s.: Deine Texte lesen sich so, als ob Du immer noch glaubst, mehreren Clients wird "mutwillig" die selbe Session Id übermittelt, um "unser" Vorhaben zu realisieren. Das ist nicht nicht so vorgesehen. Dafür muss man sorgen, dafür kann man sorgen. Die Eindeutigkeit der Client<->Session Id bleibt erhalten, die Ids der übernommenen Sessions werden nicht, ich wieder holte werden nicht an den Client übertragen. Wie bereits auf der ersten Seite deutlich gesagt wurde, geht es nicht um eine Übernahme aus Benutzersicht. Ich bitte das beim Belegen Deiner Bedenken zu berücksichtigen.
__________________
Wat der Bauer nich kennt, dit frisster nich.

Geändert von defabricator (30.12.2007 um 17:23:14 Uhr)
Mit Zitat antworten
  #35  
Alt 30.12.2007, 20:49:25
PHP-CODER PHP-CODER ist offline
Anfänger
 
Registriert seit: Dec 2007
Beiträge: 8
AW: Session Re-Loaden

Hallo defabricator !

Zuerst vielen dank für deine äusserst Hilfreichen antworten.
Ich könnte nun mittels dem Befehl "session_write_close" die bestehende Session abschliessen und mit "session_set_id" sowie "session_start" die neue Session laden.

Es funktioniert alles bestens. Vielen dank noch einmal an dir.

Was ich noch fragen würde ist ob vielleicht jemand weiss was es mit den Warnungen auf sich hat.

Jedesmal wenn ich den Code ausführe bekomme ich folgendes zu sehen.
Ich kann die Warnungen abstellen würde jedoch trotzdem wissen ob es eine Möglichkeit gibt diese zu vermeiden.

Zitat:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /opt/htdocs/xyz.php:9) in /opt/htdocs/xyz2.php on line 5463

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /opt/htdocs/xyz.php:9) in /opt/htdocs/xyz2.php on line 5463
Was mir ebenfalls noch aufgefallen ist das in dem "PHP-Self" Befehlsverzeichniss die Funktion
"session_write_close()" fehlt.
http://www.selfphp.de/befehlsverzeic...zeichnis_s.php
Mit Zitat antworten
  #36  
Alt 30.12.2007, 20:58:33
PHP-CODER PHP-CODER ist offline
Anfänger
 
Registriert seit: Dec 2007
Beiträge: 8
AW: Session Re-Loaden

Zitat:
Zitat von rambi Beitrag anzeigen
Und ja, ich bin ein gebranntes Kind. Damals war ich noch so blauäugig wie ihr... session_start() an den Anfang und evtl noch für User mit Adminrechten Cookies vorraussetzen. Aus die Laube!
Wie man sich doch täuschen kann!
Hallo Rambi !

Ich würde jetzt auch mal gerne ein paar code zeilen sehen aus denen hervorgeht das die Session Verwaltung nicht so sicher ist.

Bis jetzt sehe und lese ich deinerseits nichts anderes als Behauptungen ohne irrgendwelche
Beweise sowie andauernd Vorgefasste Dogmatische Vorurteile gegenüber PHP.

Man könnt dem auch RUFMORD sagen welcher mit ganz grosser wahrscheinlichkeit darauf zurückzuführen ist das du selbst überhaupt nicht in PHP programmieren kannst.

Ich freue mich nun auf ein handfestes Beispiel mit richtigen PHP Code deinerseits der uns allen zeigt das die PHP-Session Verwaltung unsicher ist.

Geändert von PHP-CODER (30.12.2007 um 21:00:04 Uhr)
Mit Zitat antworten
  #37  
Alt 30.12.2007, 21:50:33
rambi
Guest
 
Beiträge: n/a
AW: Session Re-Loaden

Zitat:
aus denen hervorgeht das die Session Verwaltung nicht so sicher ist.
Ganz sicher werde ich hier kein Sessionhackscript publizeren.....

Da du mir nicht glaubst, hier mal ein paar Artikel zur Sicherheit mit Sessions:
http://www.linux-konkret.de/security...okies-url.html
http://de.wikipedia.org/wiki/Session_Fixation
http://www.cms-sicherheit.de/module-...-1-pid-30.html

Zitat:
Vorgefasste Dogmatische Vorurteile gegenüber PHP.
Etwas dogmatisch, kann schon sein..
Aber keine Vorurteile!! Sondern Urteile!
Und wieso sollte ich was gegen PHP haben??
Die Probleme sind doch völlig unabhängig von der verwendeten Sprache ;-)
Mit Zitat antworten
  #38  
Alt 30.12.2007, 22:23:37
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 53
Beiträge: 1.020
AW: Session Re-Loaden

Zitat:
Zitat von PHP-CODER Beitrag anzeigen
Es funktioniert alles bestens. Vielen dank noch einmal an dir.
Das tut es noch nicht, da ich bei Dir noch garnicht angelangt bin, sondern eigetnlich erstmal rambi abhandeln wollte ;) Das Beispiel ist nicht gebrauchsfertig.
Die Warnungen, die Du bekommst, rühren daher, dass PHP eben doch noch versucht die id der übernommenen Session an den Client zu propagieren. Würde das klappen, hättest Du in der Tat ein Problem. Das muss also erstmal unterbunden werden.
PHP-Code:
<?php
// Authentifiziereun, Authorisierung
session_start();
if (!isset(
$_SESSION['privlevel']) || $_SESSION['privlevel']&PRIV_ADMIN==0) {
    die(
'nur Admins');
}


$original_values = array();
$original_values['session_id'] = session_id();
session_write_close();

// Verhindern, dass die Session-Id oder session-header
// an den Client gesendet werden
ini_set('session.use_cookies'false);
ini_set('session.cache_limiter''');
ini_set('session.use_trans_sid''false');
// die Rückgabewerte von ini_set könnte man auch in $original_values speichern
// und später wiederherstellen.
// Ist aber (sehr) unnötig.

echo '<div>Übernehme alle handler=files sessions</div>';
flush();
foreach(
glob(ini_get('session.save_path').'/sess_*') as $sf) {
  
session_id(substr(basename($sf), 5));
  if (
session_start()===false) {
      echo 
'<p>failed to load session</p>';
  }
  else {
      echo 
'<pre>'print_r($_SESSION); echo '</pre>';
      
session_write_close();
  }
}

session_id($original_values['session_id']);
session_start();
// und weiter mit der Admin Session, wenn noch Daten benötigt oder geändert werden sollen
// sonst nicht nocheinmal starten und nur
// $_SESSION = array();
// setzen, damit nicht ausversehen Daten aus der letzten übernommenen Session angezeigt werden.
__________________
Wat der Bauer nich kennt, dit frisster nich.
Mit Zitat antworten
  #39  
Alt 30.12.2007, 22:25:04
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 53
Beiträge: 1.020
AW: Session Re-Loaden

Zitat:
Zitat von rambi Beitrag anzeigen
Keiner der Artikel hat mit unserem Kernthema hier zu tun, das sich nicht darum dreht, wie Sessions allgemein festgemacht werden.
Wenn Du das anders siehst, belege das bitte genau. Ansonsten ist die Relevanz nämlich genauso groß wie bei der Aussage "echo ist böse, weil damit XSS Attacken möglich sind" ;)
__________________
Wat der Bauer nich kennt, dit frisster nich.

Geändert von defabricator (30.12.2007 um 22:31:36 Uhr)
Mit Zitat antworten
  #40  
Alt 30.12.2007, 22:44:04
rambi
Guest
 
Beiträge: n/a
AW: Session Re-Loaden

Mein letztes Posting war ausschließlich an PHP-CODER gerichtet!
Welcher ja scheinbar die Notwendigkeit der Absicherungen grundsätzlich in Frage stellt.
Mit Zitat antworten
Antwort


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

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 wird zu früh beendet ... sk4ter PHP Grundlagen 2 15.11.2007 19:49:57
session variblen gehen verlohren - immer neue session ID xeta PHP Grundlagen 9 03.08.2006 01:50:33
Session Probleme CounterStar PHP für Fortgeschrittene und Experten 1 09.04.2004 23:55:23
SESSION daten gehen leider nicht verloren! - wennd as fenster geschlossen wird Phil PHP für Fortgeschrittene und Experten 3 31.03.2004 14:08:33
session überprüfen... Xantos PHP für Fortgeschrittene und Experten 4 21.05.2002 11:54:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:16:05 Uhr.


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


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