Ich bin mir durchaus bewusst das XAMPP für diese Dinge nicht vorgesehen ist. Ich denke jedoch, dass ich es schaffe das ausreichend abzusichern. Server-Software (Apache, Linux Server..) sind zwar nur eine Randgruppe meines Wissens, aber ganz ahnungslos bin ich da nicht.
Das du keine Lösungen rausgeben möchtest kann ich gut nachvollziehen. Jedoch habe ich inzwischen eine Lösung gefunden (eigentlich bereits am Tag nach deiner Antwort, aus mehreren Gründen erst jetzt mein Post) und ich persönlich finde es jedes Mal wieder bescheuert, wenn man nach einer Lösung für ein Problem sucht und dann viele Forum-Beiträge findet in denen steht "Lösung gefunden" aber dort mit keinem Wort steht, wie das Problem gelöst wurde. Wenn du also nichts dagegen hast, würde ich meine Lösung mit Erklärung hier noch nachträglich posten.
Zum Sicherheitsproblem kurz und knapp allgemein noch etwas: Selbst wenn man die Zugriffsregeln, wie ich sie nun habe, umgehen könnte, wäre das kein Weltuntergang. Ich habe im htdocs-Verzeichnis keine Dateien, die nicht bereits öffentlich sind oder Dateien, die ich nicht veröffentlichen werde, sobald diese fertig sind. Auch braucht man nach jedem PC-Neustart meine neue IP-Adresse wieder, um darauf zugreifen zu können und Apache läuft bei mir sowieso nur dann, wenn ich es brauche. Weitere Absicherungen habe ich natürlich auch vorgenommen, aber darauf möchte ich jetzt nicht auch noch eingehen.
Update: Ich habe das Ganze nun wie folgt gelöst. In den Verzeichnis apache\conf\extra befindet sich die Datei httpd-vhosts.conf , in dieser Datei kann man (wie man an den Namen bereits sehen kann) VHosts (=VirtualHosts) definieren.
- Code: Select all
<VirtualHost localhost>
DocumentRoot C:/xampp/htdocs/
DirectoryIndex index.php index.html
<Directory "C:/xampp/htdocs/">
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot C:/xampp/htdocs/online
DirectoryIndex index.php index.html
<Directory "C:/xampp/htdocs/online">
Options Indexes FollowSymLinks Includes
Order allow,deny
Allow from all
AllowOverride All
</Directory>
</VirtualHost>
Der erste VHost bestimmt die Zugriffsregeln in den Fall, wenn man local darauf zugreift. Durch DocumentRoot ist es dann möglich zu bestimmen, auf welchen Verzeichnis man zugreifen darf. In meinen Fall, ist DocumentRoot das Standard-Verzeichnis von Xampp, falls man es local aufruft. Ruft man es hingegen über Port 80 auf (Standard HTTP-Port), dann ist nur das "online"-Unterverzeichnis erreichbar. Port 80 ist in meinen Fall, auch der einzige Port der freigeschalten ist. Wie Altrea bereits erwähnt hatte, muss man allerdings Xampp auch an anderen Stellen abdichten und man sollte Xampp auf keinen Fall, als richtigen Webserver verwenden.
MfG,
Croydon