'8.5.12', '8.4' => '8.4.27', '8.3' => '8.3.36', '8.2' => '8.2.35']; $v = PHP_VERSION; $branch = PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION; echo "PHP2Shell-Check vom " . date('d.m.Y H:i') . "\n"; echo "PHP-Version: $v\n"; echo "Betriebsart (SAPI): " . PHP_SAPI . "\n\n"; if (isset($fixed[$branch])) { if (version_compare($v, $fixed[$branch], '>=')) { echo "ERGEBNIS: GESCHÜTZT. Die Version enthält die Korrektur (ab {$fixed[$branch]}).\n"; } else { echo "ERGEBNIS: VERWUNDBAR. Mindestens {$fixed[$branch]} ist nötig. Hoster kontaktieren\n"; echo "oder im Kundenmenü auf eine korrigierte Version wechseln.\n"; echo "Hinweis: Debian/Ubuntu/RHEL spielen die Korrektur ohne neue Versionsnummer ein;\n"; echo "auf eigenen Servern zählt dann die Paketversion (dpkg -l / rpm -q).\n"; } } elseif (version_compare($v, '8.2.0', '<')) { echo "ERGEBNIS: Zweig $branch wird vom PHP-Projekt nicht mehr gepflegt.\n"; echo "Es gibt keine offizielle Korrektur. Nur ein vom Hoster bestätigter Backport\n"; echo "schützt; andernfalls auf PHP 8.3 oder 8.4 wechseln.\n"; } else { echo "ERGEBNIS: Zweig $branch ist neuer als diese Prüfung kennt, vermutlich geschützt.\n"; echo "Bitte Änderungsprotokoll auf php.net prüfen.\n"; } echo "\nÜbergangseinstellungen (nur wichtig, solange die Version verwundbar ist):\n"; foreach (['session.upload_progress.enabled', 'file_uploads', 'memory_limit', 'post_max_size', 'upload_max_filesize'] as $k) { printf(" %-32s %s\n", $k, var_export(ini_get($k), true)); } echo "\nDiese Datei nach der Prüfung vom Server löschen.\n";