Master-ID über .htaccess sperren
Webwolf
- webhosting
Hallo,
ich plage mich schon seit einigen Tagen mit einem Problem, bei dem mir selbst der Support meines Webhosters nicht helfen konnte und hoffe nun, hier etwas "kompetente" Hilfe zu bekommen.
Es geht darum, den Zugriff einer Master-ID (Master-Domain) zu sperren bzw. zu verhindern.
Diese Master-ID zeigt meißt, wie auch in meinem Fall, auf das Stammverzeichnis des Webspaces (was ich generell als Sicherheitslücke betrachte). Der Webhoster bietet hierfür auch keinerlei Hilfe oder Einstellungen im Webinterface an.
Ich habe natürlich einiges Versucht mit .htaccess, bevor ich den Support mit meinem Anliegen "belästigt" habe. Nachdem der Support in meine .htaccess-Datei geschaut (aber rein garnichts korrigiert) hat, wies dieser mich freundlich darauf hin, dass "soetwas nur mit .htaccess geht". Abgesehen vom Link zum "Bewertungssystem des Supports" habe ich folgendes bekommen mit dem kleinen Hinweis "Bitte konsultieren Sie Google" (...was ist Google?!):
http://joachimnadolny.de/webseitenzugriff-mit-htaccess-verweigern/
Natürlich habe ich's sowohl vorher als auch hinterher nochmal mit Einträgen wie...
order deny,allow
deny from .12345.strato-hosting.eu
..versucht. Auch eine Implementierung mit mod_rewrite schien wirkungslos (sofern ich hier alles richtig gemacht habe). Aber....
Nach einer weiteren (mit mehr Bewertungs-Links gefütterten) Unterhaltung mit dem Support, in der ich die Person darum gebeten habe, die Inhalte der .htaccess-Datei den Erwartungen entsprechend anzupassen, schien diese eine komplett andere Lösung zu diesem Problem zu haben:
"Dies können Sie mittels eines Redirectes in der .htaccess bewerkstelligen.
Das sieht dann etwa so aus:
Redirect permanent [Master-ID] [Pfad zu einer Fehlerseite]
Bedauerlicherweise können Sie hier nicht angeben, dass die Umleitung direkt auf
einen Error 403 verweist."
...nachdem ich mir folglich mein Bild von diesem "kompetenten" und super koordinierten Support gemacht und den Syntaxfehler in der letzten Mail des Supports ignoriert habe, entschloss ich, nie wieder Zeit mit den Leuten zu verschwenden, die dort ihre Brötchen verdienen.
Also nochmal das Ganze...
Folgende Anweisung in der .htaccess scheint zu funktionieren (auch wenn eine Weiterleitung nach Google nur temporär ist):
RedirectPermanent 12345.strato-hosting.eu http://www.google.com
Aber: Nun sind sämmtliche Domains (www.site1.com & www.site2.com) von dieser Weiterleitung betroffen und das soll natürlich nicht so sein.
Ich kann nicht ausschließen, dass ich an dieser Stelle das Problem bin und einfach zu wenig Erfahrung mit solchen Dingen habe. Deshalb bedanke ich mich im Vorraus dafür, dass ich mein Leid mit euch teilen durfte. Ich würde mich sehr über Hilfestellungen freuen.
www
|
+---_com
+---site1
| +---include
| +---public
| | +---index.php
| | +---.htaccess
+---site2
| +---include
| +---public
| | +---index.php
| | +---.htaccess
+---.htaccess
....
www.site1.com => www/site1/public/
Moin!
Es geht darum, den Zugriff einer Master-ID (Master-Domain) zu sperren bzw. zu verhindern.
Können wir bitte zuerst mal aufhören, hier von "Master-ID" zu sprechen. Das verwirrt nämlich nur und ist sachlich unzutreffend. Es handelt sich hier um eine technisch bedingte Domain deines Hosters.
Diese Master-ID zeigt meißt, wie auch in meinem Fall, auf das Stammverzeichnis des Webspaces (was ich generell als Sicherheitslücke betrachte). Der Webhoster bietet hierfür auch keinerlei Hilfe oder Einstellungen im Webinterface an.
Man würde sich im Prinzip ein geheimhaltbares Verzeichnis wünschen. Sind deine restlichen Domains in Unterverzeichnissen?
Natürlich habe ich's sowohl vorher als auch hinterher nochmal mit Einträgen wie...
order deny,allow
deny from .12345.strato-hosting.eu
Funktioniert nicht. Deine Besucher kommen aus der ganzen Welt, aber nicht von dieser Domain. Der Parameter von "Deny from" bedeutet: Wenn jemand, dessen Client-IP oder -Domain dem hier (teilweise) entspricht, dann sperren. Es bedeutet explizit nicht: "Wenn jemand auf diese Domain hier auf dem Server zugreifen will."
> "Dies können Sie mittels eines Redirectes in der .htaccess bewerkstelligen.
> Das sieht dann etwa so aus:
> Redirect permanent [Master-ID] [Pfad zu einer Fehlerseite]
> Bedauerlicherweise können Sie hier nicht angeben, dass die Umleitung direkt auf
> einen Error 403 verweist."
Auch das ist falsch. Redirect kann auch einen Fehlercode mitgeben, auch einen 404-Fehler. Dummerweise kann man im Redirect keine Domain angeben. Es ist also doppelt falsch.
> Also nochmal das Ganze...
> Folgende Anweisung in der .htaccess scheint zu funktionieren (auch wenn eine Weiterleitung nach Google nur temporär ist):
>
> `RedirectPermanent 12345.strato-hosting.eu http://www.google.com`{:.language-apache}
Die simple Version könnte sein:
Im Hauptverzeichnis eine .htaccess mit:
Order Allow,Deny
In allen Unterverzeichnissen deiner Sites:
Order Deny,Allow
Mehr ist nicht notwendig, und die Unterverzeichnisse überschreiben die im höheren Verzeichnis gemachten Einstellungen. Danach solltest du auf deiner technischen Domain überall Status 403 bekommen.
- Sven Rautenberg
Hallo Sven,
vielen Dank für deine schnelle Antwort!
Können wir bitte zuerst mal aufhören, hier von "Master-ID" zu sprechen. Das verwirrt nämlich nur und ist sachlich unzutreffend. Es handelt sich hier um eine technisch bedingte Domain deines Hosters.
Ich dachte, dass der Begriff "Master-ID" beim Thema Webhosting geläufig ist, da diese Domain auf zwei meiner Hoster mit eben solchem Titel benannt wird. Bei einem dieser konnte ich die Domain allerdings im Webinterface deaktivieren.
Man würde sich im Prinzip ein geheimhaltbares Verzeichnis wünschen. Sind deine restlichen Domains in Unterverzeichnissen?
Ja. Das sollte eigentlich der Tree am Ende meines Beitrages deutlich machen.
Natürlich habe ich's sowohl vorher als auch hinterher nochmal mit Einträgen wie...
order deny,allow
deny from .12345.strato-hosting.eu
>
> Funktioniert nicht. Deine Besucher kommen aus der ganzen Welt, aber nicht von dieser Domain. Der Parameter von "Deny from" bedeutet: Wenn jemand, dessen Client-IP oder -Domain dem hier (teilweise) entspricht, dann sperren. Es bedeutet explizit nicht: "Wenn jemand auf diese Domain hier auf dem Server zugreifen will."
So wie du mir das hier erklärst, habe ich ursprünglich auch gedacht. Nachdem mir der Support allerdings mehr oder weniger das Gegenteil weiß machen wollte und ich daran geblaubt habe, dass es sich dabei um Experten handelt, habe ich meine Meinung natürlich erst einmal geändert. Danke für die Aufklärung.
> > "Dies können Sie mittels eines Redirectes in der .htaccess bewerkstelligen.
> > Das sieht dann etwa so aus:
> > Redirect permanent [Master-ID] [Pfad zu einer Fehlerseite]
> > Bedauerlicherweise können Sie hier nicht angeben, dass die Umleitung direkt auf
> > einen Error 403 verweist."
>
> Auch das ist falsch. Redirect kann auch einen Fehlercode mitgeben, auch einen 404-Fehler. Dummerweise kann man im Redirect keine Domain angeben. Es ist also doppelt falsch.
Ein Grund mehr in Zukunft auf den o.g. Support zu verzichten.
> Die simple Version könnte sein:
>
> Im Hauptverzeichnis eine .htaccess mit:
>
> Order Allow,Deny
>
> In allen Unterverzeichnissen deiner Sites:
>
> Order Deny,Allow
>
> Mehr ist nicht notwendig, und die Unterverzeichnisse überschreiben die im höheren Verzeichnis gemachten Einstellungen. Danach solltest du auf deiner technischen Domain überall Status 403 bekommen.
>
Auf so eine einfache Lösung wäre ich wahrscheinlich erst sehr spät gekommen, obwohl ich dabei auch eine Überschreibung mittels der .htaccess-Dateien in den Unterordnern im Kopf hatte. Leider habe ich noch nicht sehr viel mit .htaccess zu tun gehabt (bzw. haben müssen), um solche simplen Lösungen direkt zu erkennen und umsuzetzen.
Dein Beitrag hat mir sehr geholfen. Alles funktioniert jetzt wie gewollt. Vielen Dank!
Manch Hoster sollte mal mehr auf die Mitarbeiter achten, die mit deren Kunden betreuen.
Einen schönen Abend noch.
Die simple Version könnte sein:
Im Hauptverzeichnis eine .htaccess mit:
Order Allow,Deny
In allen Unterverzeichnissen deiner Sites:
Order Deny,Allow
Mehr ist nicht notwendig
Weil aber (außer Dir, Dedlfix, MudGuard, Matthias, Suit, Molily, 1UnitedPowe, Hotti, Christian Kruse [*] und bundesweit vielleicht 5-10.000 weiteren Personen ~0,01% der Gesamtbevölkerung) erst nach einem tiefen Blick das Handbuch wissen wieso das funktioniert neige ich stark dazu, ERGÄNZEND vorzuschlagen (auch oder nur) das "sprechendere"
deny from all
respektive
allow from all
in die jeweilige .htaccess aufzunehmen.
[*] Nicht namentlich genannte bitte nicht entsetzt sein, ich habe einfach abgebrochen.