Du hast natürlich mit vielen der Aussagen recht (die einzige echte Ausnahme steht unten). Das Werk stammt aus dem Dezember 2009 und braucht- wegen mysqli und der in PHP7 entfernten mysql-Funktionen ohnehin dringend ein Update. Was mich frappiert ist folgendes: Alles was Du aufzählst ist mir auch beim Durchlesen aufgefallen. Inklusive des Rates zum Wechseln des Hosters..., exklusive des unten stehenden und exklusive der Geschichte um $_SERVER['DOCUMENT_ROOT']. Dafür aber inklusive des fehlenden Hinweises darauf, dass man die Einstellungen auch in einer PHP.ini setzen kann.
- Der Dateiname mit .ht_irgendwas führt dazu, dass die Datei wegen des Unterstrichs als versteckt behandelt wird.
Die Regel im Apache (2.4) heisst:
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>