Hallo,
was Du machen kannst oder auch nicht, hängt auch von Deinem Server/Webspace ab.
Wenn o.g. Angreifer über ein Upload-Script Code ausführen konnte, dann doch wohl nur, weil das Script schludrig programmiert war. Wenn ich den MIME-Type einstelle, ggf. auch noch die Dateiendungen filtere und via .htaccess Direkaufrufe aus dem Upload-Ordner umbiege, sollte wohl nicht mehr viel passieren können. Wenn er die config.inc.php auslesen konnte (also beliebigen Code auf dem Server ausführen kann), hätte er auch bei deinstalliertem phpmyadmin mit einem Dump-Programm die Datenbank auslesen können. Das Problem ist in dem Fall nicht phpmyadmin sondern schlechte Programmierung. Oder (mindestens genauso gefährlich) luschige Passwörter.
Aber kommen wir kurz auf die .htaccess zu sprechen. Nehmen wir an, Dein Script liegt im Ordner "includes", dann kannst Du den Zugriff über die URL folgendermaßen unterbinden:
PHP:
RewriteEngine On
RewriteBase /
RewriteRule includes /index.php [R=301,L]
Wer immer jetzt versuchen würde, über die URL Deine config aus "includes" aufzurufen, landet auf Deiner Startseite (hier index.php, muss also z.B. Deine Startseite drinstehen; Du kannst ihn auch ganz woanders hinschicken
Voraussetzung ist aber, dass Dein Provider auch das Apache mod_rewrite-Modul über die httpd.conf eingebunden hat. Ferner muss hier auch "Allow Overrides All" und "Allow From All" gesetzt sein. Bei einem eigenen Rootserver kannst Du das selber machen, bei V-Servern oder Webspace sind die Aussichten nicht mehr ganz so rosig, musst Du halt Deinen Provider fragen oder testen, was geht.
Dieses HTTrack kenne ich nicht, aber wenn es sich dabei um ein Programm handelt, das Webseiten grabben soll, musst Du Dir auch keine Sorgen machen. PHP wird immer auf dem Server geparst und interpretiert, am Ende wird nur der HTML-Code ausgeliefert. Der Browser selber versteht kein PHP. Einzige Chance wäre vielleicht (hier muss ich jetzt mutmaßen, denn mir ist das in den ganzen Jahren noch nie passiert), der PHP-Interpreter auf dem Server hätte seinen Geist aufgegeben. Aber selbst dann gäbe es keinen Nutzen, selbst wenn man Deine Passwörter kennen würde: Ohne PHP kein Mysql. Das würde nur gehen, wenn man gleichzeitig Shell-Zugriff auf Deinen Server hätte und z.B. über mysqladmin auf die Daten zugreifen würde. Aber an dem Punkt wäre sowieso alles zu spät.
Mach lieber Deine Zugangsarten mit komplizierten User- und Passwörtern sicherer, benutze (wenn's geht) ssh anstatt FTP (dann am besten ganz abschalten) und programmiere sauber: Keine ungeprüften Inhalte von außen zulassen, kritische PHP-Funktionen wie z.B. exec() und Einstellungen wie "allow_url_include" abschalten (wenn nicht von Hause aus schon geschehen), eigene Fehlerbehandlungsroutinen und auf dem Produktivsystem "DisplayErrors" abschalten (ich staune immer wieder, auf wie vielen Seiten das noch funktioniert. Dabei könnte man das, selbst wenn man keinen Zugriff auf die php.ini hat das per iniset() einstellen).
Greetz
cw