Server-Umstellung bei all-inkl

Fragen und Diskussionen zu laufenden ConPresso 4.x Projekten werden in diesem Forum diskutiert.
Antworten
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 522
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 199 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Server-Umstellung bei all-inkl

Beitrag von hscha »

Liebe Community-Leserinnen und -leser,

in der letzten Nacht hat all-inkl meine Gemeinde-Webseite auf einen neuen Server geschoben. Danach hatte sich die Adresse der Datenbank verändert, so dass sie nicht erreichbar war. Das habe ich inzwischen geändert. Jedoch verweigert die Site seitdem das Einloggen ins Backend. Es erscheint die Meldung "Sicherheitsprüfung fehlgeschlagen". Über die Login-Seite erscheint dieser Fehler: "
Warning: session_regenerate_id(): Cannot regenerate session id - headers already sent in /www/htdocs/.../wichern-radelandgemeinde.de/cms/_admin/index.php on line 47
Hat jemand einen Tipp für mich?
Grüße aus dem Logdown-Berlin
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 522
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 199 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Beitrag von hscha »

P.S: CPO 4.1.6, php 5.6
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7084
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal
Kontaktdaten:

Beitrag von MarkusR »

Hm, leider ist die genannte Zeile 47 in _admin/index.php im Original LEER.
Das genannte session_regenerate_id() steht im Original in Zeile 44, kann also gar nicht durch eine Ausgabe in Zeile 47 kompromittiert werden.

Du willst ja sicher auch etwas über die Fehlersuche lernen. :wink:

Dazu solltest Du jetzt mal schauen, was bei Dir in dieser Zeile 47 steht, das könnte dann einen Hinweis auf die Ursache liefern.
Probeweise könntest Du das auch auskommentieren und dann sehen, was passiert. Ist das Problem weg, dann könnte es an dem liegen was in Zeile 47 steht.

Vielleicht postest Du auch den Anfang von _admin/index.php bis ca. Zeile 100, damit man sieht, was ggf. bei Dir manipuliert wurde.
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 522
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 199 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Beitrag von hscha »

Zeile 20 bis 68:

Code: Alles auswählen

 /*... $Id$
  menüs aufklappen ab zeile 183
  doctype und charset ergänzt ab zeile 249
  title-anpassung an website-projekt */
define('CPO', true);
define('CPOBACKEND', true); 
require_once('../_include/common.inc.php');

$naction = 'login';

if (empty($_POST['form_userlogin']) && empty($_POST['form_passwort']) && isset($_REQUEST['action'])) {
    $naction = 'failed';
}

if (!isset($_REQUEST['action'])) $_REQUEST['action'] = '';

if ($_REQUEST['action']=='logout' || $_REQUEST['action']=='timeout' || $_REQUEST['action']=='login') {
//    Disabled, because the framesets seem to create problems with the session 
//    handling at this early stage
//    if (($_REQUEST['action']) == 'login' && !$antiCSRF->checkToken()) {
//        unset($_POST['form_passwort']);
//        unset($_POST['form_userlogin']);
//        logaction('login', 'Login CSRF check failed.');
//        $naction = 'csrf';
//    }
    
    $old = session_id();
    session_regenerate_id();
    if (function_exists('fb')) fb('Regenerated session-ID: ' . $old . ' => ' . session_id());
    $_COOKIE[session_name()] = session_id();
	
    if (isset($_SESSION['SID_log_login_id'])) {
        $query = "DELETE FROM ".CPO_LOG_LOGIN." " 
                ."WHERE id='".$_SESSION['SID_log_login_id']."'";
        DEBUG(4, 'Delete user from log_login table.<br /><br />'.$query, __FILE__, __LINE__); 
        $db = new DB;
        $db->query($query);
    }
    
    switch ($_REQUEST['action']) {
    case 'logout':
        logaction('logout', '');
        $naction = 'logout';
        break;
    case 'timeout':
        logaction('timeout', '');
        $naction = 'timeout';
        break;
    }
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7084
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal
Kontaktdaten:

Beitrag von MarkusR »

Dazu solltest Du jetzt mal schauen, was bei Dir in dieser Zeile 47 steht
In Zeile 47 steht bei Dir

Code: Alles auswählen

session_regenerate_id();
Gerne geschehen!

Ist also nicht die Fehlerursache sondern nur der/die Leidtragende.

Insofern in den (geheimen?) Zeilen 1 bis 19 keine Ausgaben erfolgen (z.B. unnötige Leerzeilen/-schritte) wird jetzt interessant, was wohl in der Datei _include/common.inc.php und allen damit wiederum verbundenen Dateien steht.

Dir ist ja bewusst, dass eine Ausgabe an den Browser erfolgt ("headers already sent") noch bevor diese erfolgen darf. Jetzt gilt es also diese Ausgabe zu finden. Das könnte auch eine weitere Fehlermeldung des Servers sein, die aber eben im oder oberhalb des Headers steht und somit auf der Seite nicht gezeigt wird.
Hier hilft mal wieder das Betrachten des Quelltextes der Seite in dem Augenblick, wenn Du den Fehler siehst. Das gleiche Vorgehen hat Dir ja auch erst vor Kurzem das Problem gezeigt.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7084
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal
Kontaktdaten:

Beitrag von MarkusR »

Was ist?
Hat es sich erledigt?
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 522
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 199 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Beitrag von hscha »

Lieber Markus,
wahrscheinlich gab es ein Zertifikatsproblem auf dem umgestellten Server bei all-inkl. Es ist inzwischen behoben und die Seite läuft wieder.
Dein Hinweis auf die Fehlermeldung war auf jeden Fall gut, auch wenn ich keine gefunden habe...

Vielen Dank!
Thema erledigt...
Antworten