Zugriffsverwaltung über Sessions?

  • Hallo, habe versucht, über das Quelltext-Widget mit php einen session_start und folgend session_destroy einzusetzen, um dann einen neuen Cookie zu setzen mit dem ich die Nutzername-Passwort-Kombination eines Lizenzkunden zu einer Session machen kann, um viele geschützte Seiten für viele verschiedene Kunden mit verschiedenen Passwörtern (SQL-Datenbank) zugänglich zu machen über Session-Cookies.


    <?php
    /* vor Beginn der Session Wiederaufnahme, um Inhalt zu löschen */
    session_start();

    /* Beenden der Session*/

    session_destroy();
    $_SESSION = array();
    ?>


    der php-Server gibt mir aber als Fehlermeldung zurück " Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /customers/8/2/a[...].php on line 204Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /customers/8/2/a/[...]



    Wenn ich das richtig verstehe, kann ich mit dem Quelltext-Widget keine neuen Session-Cookies setzen, weil das gleich am Anfang der jeweiligen Seite erwartet wird und die Header des Layouts schon die Aktion vereiteln?
    Oder gibt es eine Möglichkeit so etwas zu machen?


    Oder hat Zeta vielleicht Lust, uns Usern ein Widget wie den geschützten Bereich zur Verfügung zu stellen, der aber mittels Tabelle viele User-Passwort-Kombinationen ermöglicht ;-) ? Das würde mir gewaltig aus der Patsche helfen...

  • Hallo,


    das haben Sie richtig erkannt. Da wir in unseren Widgets das selbe Problem haben, gibt es dafür eine Lösung mittels unseres system.addFinishScript(text) Skriptbefehls. Solchen Skriptcode können Sie innerhalb eines Quelltext-Artikels einfügen indem Sie den Start mit <$ und das Ende mit $> markieren. Der Inhalt des Quelltext-Artikels könnte also ungefähr so aussehen:


    PHP
    <$
    var phpHead = '<?php ';
    phpHead += "ob_start(); ";
    phpHead += 'session_start(); ?>';
    system.addFinishScript( phpHead );
    $>