Sieht gut aus, die 3

Das Problem mit dem af-Zugang trat nicht mehr auf.

Habe auch gleich noch einiges an Installationssachen getestet mit folgenden Ergebnissen:

================================================== =================
Fehler:
in VMSR.EasySetup.v3.0.0.ftp.php wird md5 statt $md5 verwendet, weswegen kein Login als normaler Benutzer möglich ist:
PHP-Code:
   mysql_query("INSERT INTO ".$_SESSION["mysql_prfx"]."_kontodaten (uid,passwort,status,hinweis,kontostand) VALUES ('".$_POST['adm_id']."','".md5($_POST['adm_pass'])."','1','','0')"); 
================================================== =================
Fehler:
beim Anmelden neuer Benutzer wird in /content/intern/anmelden.php beim Eintragen des neuen Users der Status auf 1 (aktiviert) gesetzt.
================================================== =================
Mögliche Sicherheitslücke:
Mit vielen Wenns und Abers gibt es eine mögliche Sicherheitslücke (auf die ich jetzt nicht näher eingehen möchte), da als Nickname eine Zahl, also auch eine bereits eingetragene Klamm-ID, gewählt werden kann.
Schon beim Anmelden sollte beim Nicknamen mindestens eine Nicht-Ziffer erzwungen werden.

Betroffene Login-Abfrage in /lib/session.lib.php:
PHP-Code:
      SELECT k.uid,
             
k.passwort,
             
k.status,
             
k.hinweis
        FROM 
".$db_prefix."_userdaten u
   LEFT JOIN 
".$db_prefix."_kontodaten k
          ON k
.uid=u.uid
       WHERE 
(u.uid='".$_POST['nickname']."' OR u.nickname='".$_POST['nickname']."')
         AND 
k.passwort='".$md5($_POST['passwort'])."'
       
LIMIT 1 
================================================== =================
Verbesserungsvorschlag:
Da rand() identische Zufallswerte bei identischen Startwerten erzeugt, sollte
rand() ersetzt werden durch mt_rand() in:
/lib/functions.lib.php
/af/content/login.php
================================================== =================
Vereinfachungsvorschlag:
in /content/intern/anmelden.php:

PHP-Code:
  if($_POST['newsletter'] == and $_POST['paidmails'] == 0) {
           
$mailstatus 0;
  }
  if(
$_POST['newsletter'] == and $_POST['paidmails'] == 0) {
           
$mailstatus 1;
  }
  if(
$_POST['newsletter'] == and $_POST['paidmails'] == 1) {
           
$mailstatus 2;
  }
  if(
$_POST['newsletter'] == and $_POST['paidmails'] == 1) {
           
$mailstatus 3;
  } 
kann ersetzt werden durch:
PHP-Code:
  $mailstatus = (int)$_POST['newsletter'] + (int)$_POST['paidmails']*2
Prüfungen auf zulässige Werte sollten vorher erfolgen, damit gültiger $mailstatus gesetzt wird.

================================================== =================



So, das war's erstmal