Steuerkram/tests/93_WebrootSauberkeitTest.php
fds2610-bot 23efce3196 Fix #161: Restposten aus Tech-Debt-Analyse (O-CHAT.html, fints.php/bankimport.php, Request-Klasse)
(a) public/O-CHAT.html nach BEISPIELE/ verschoben, Test 93 hält den Webroot sauber.
(b) bank/fints.php in Teil-Views + public/static/js/fints.js aufgeteilt.
(c) settings/bankimport.php in Teil-Views + public/static/js/bankimport.js aufgeteilt.
(d) src/Request.php angelegt, BankController als erster Controller umgestellt.
2026-08-18 13:12:12 +02:00

38 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
/**
* Test 93: Sauberkeit des Webroots (Fix #161a)
*
* public/O-CHAT.html war ein Testartefakt ohne Referenz aus Router, View oder
* Navigation, wurde von Apache aber direkt ausgeliefert und lief damit an der
* Authentifizierung vorbei. Dieser Test hält den Webroot dauerhaft sauber:
* außer index.php, .htaccess und dem static/-Verzeichnis darf dort nichts
* direkt ausliefer-fähiges liegen.
*/
class WebrootSauberkeitTest extends TestCase
{
protected string $testName = 'Test 93: Sauberkeit des Webroots';
public function run(): void
{
$publicDir = __DIR__ . '/../public';
$this->assert(is_dir($publicDir), 'public/ existiert');
$erlaubt = ['index.php', '.htaccess', 'static'];
$eintraege = array_diff(scandir($publicDir), ['.', '..']);
foreach ($eintraege as $eintrag) {
$this->assert(
in_array($eintrag, $erlaubt, true),
"Unerwarteter Eintrag im Webroot: public/$eintrag"
);
}
$this->assert(
!file_exists($publicDir . '/O-CHAT.html'),
'public/O-CHAT.html ist entfernt'
);
}
}