Mich hatte letztens wer gefragt, was in PHPMyAdmin im Status-Tab "Fehlgeschlagen" unter "Verbindungen" bedeutet, da bei ihm dort ca. 30% aller Verbindungen fehlgeschlagen angezeigt wurden.
Die Statusvariable heißt: Aborted_connects
Der Schuldige bzw. die Datei war schnell gefunden:
topframe_forced.php
Das db_connect() muss aber unbedingt direkt nach der functions.lib und noch vor der session.lib, da in der session.lib schon Datenbankanfragen gestellt werden!, also:PHP-Code:
<?
@require_once ('lib/functions.lib.php');
@require_once ('lib/session.lib.php');
//... uvm...
@db_connect();
Und schon zeigt nach einem MySQL Server Neustart (Alternativ: FLUSH STATUS dauerhaft nur 0 fehlgeschlagene Verbindungen anPHP-Code:
<?
@require_once ('lib/functions.lib.php');
@db_connect();
@require_once ('lib/session.lib.php');
//... uvm...
Fix für VMS 1.2.4 PL1:
in der Datei topframe_forced.php die Zeile 21 (@db_connect() zwischen Zeile 2 und 3 verschieben.
Negative Auswirkungen dadurch gab es in diesem konkreten Fall nicht, es kann aber passieren, je nach MySQL Konfiguration, das es dadurch zu "Sperren" kommt. Da die session.lib.php ausgeführt wird, ohne eine aktive Datenbankverbindung, wird versucht, eine mit den Standardwerten aufzubauen. Also meist sowas wie Benutzer 'www-data', kein Passwort. Das schlägt fehl, und könnte als "Angriffsversuch" gewertet werden.