htaccess Kennwortschutz
John123
- webserver
Hallo
ich möchte einen Teil einer Kunden-Website über .htaccess mit einem Kennwort schützen (bzw. der Kunde möchte das)
Problem, das eingesetzte CMS generiert keine Verzeichnisstruktur in der URL (sonst könnte man z.b. alle zu schützenden Seiten in ein Verzeichnis "intern" packen), die URL´s der einzelnen Seiten unterscheiden sich ausschliesslich über eine seitenspezifische ID-Nummer.
Nun könnte ich jede einzelne Seiten-ID-Nummer die geschützt werden soll natürlich manuell am Apache über die .htaccess Regeln eintragen.
Nachteil, fügt der Kunde in dem geschützten Bereich eine neue Seite ein, bekommt die eine neue ID, der Kunde muss mir diese mitteilen und ich muss diese ID dann von Hand am Apache eintragen (bzw. vom Serveradmin eintragen lassen).
Gibt´s mit .htaccess (oder anders) auch Möglichkeiten den Passwortschutz nicht am Verzeichnis oder Dateinamen festzumachen, sondern z.b. am Seitentitel? Denn das CMS bietet mit die Möglichkeit z.b. allen Seiten eines bestimmten Bereichs ein Prefix für den Title-Tag einzugeben. Bei allen internen Seiten könnte also ein "Intern: Seitenbezcihnung" als Title-Tag ausgegeben werden.
Oder sonst irgendeine Idee wie ich das autmoatisieren kann?
PHP geht übrigens nicht, ist ein J2EE CMS und auf den Server läuft kein PHP.
Die Abfrage müsste also vorne am Apache passieren.
Danke und Grüße
John
Lieber John123,
PHP geht übrigens nicht, ist ein J2EE CMS und auf den Server läuft kein PHP.
Die Abfrage müsste also vorne am Apache passieren.
es kann halt nicht jeder glücklich sein... ;-) *SCNR*
Liebe Grüße,
Felix Riesterer.
Hi,
Problem, das eingesetzte CMS generiert keine Verzeichnisstruktur in der URL (sonst könnte man z.b. alle zu schützenden Seiten in ein Verzeichnis "intern" packen), die URL´s der einzelnen Seiten unterscheiden sich ausschliesslich über eine seitenspezifische ID-Nummer.
das CMS ist also unstrukturiert. Finde den, der es ausgewählt hat, reiße ihm den Kopf ab, entferne jedwedes darin enthaltene schlecht riechende Material und reattachiere ihn. Anschließend darf er den Aufwand zur Behebung seines Fehlers abschätzen.
Gibt´s mit .htaccess (oder anders) auch Möglichkeiten den Passwortschutz nicht am Verzeichnis oder Dateinamen festzumachen, sondern z.b. am Seitentitel?
Woher soll Apache wissen, was ein Seitentitel ist?
PHP geht übrigens nicht, ist ein J2EE CMS und auf den Server läuft kein PHP.
Die Abfrage müsste also vorne am Apache passieren.
Die Abfrage müsste also geschehen, bevor J2EE den Seitentitel generiert hat. Selbst wenn Apache wissen würde, was das ist, würde es diesem Server schwerfallen, derart präzise die Zukunft vorherzusehen.
Das Problem ist das CMS.
Cheatah
Hi,
das CMS ist also unstrukturiert.
naja, intern nicht :-) aber nach außen halt.
Klar gibt´s intern Seitenbäume, ich kann Rechte etc innerhalb eines Seitenbaums vererben, auch Layoute, usw. etc... aber in der URL schlägt sich das halt nicht nieder.
Finde den, der es ausgewählt hat, reiße ihm den Kopf ab, entferne jedwedes darin enthaltene schlecht riechende Material und reattachiere ihn. Anschließend darf er den Aufwand zur Behebung seines Fehlers abschätzen.
tja, leider leider eine Unternehmensentscheidung die vor meiner Zeit gefallen ist und aufgrund der nicht geringen Investitionskosten nicht so schnell rückgängig gemacht wird.
Woher soll Apache wissen, was ein Seitentitel ist?
gute Frage :-)
Die Abfrage müsste also geschehen, bevor J2EE den Seitentitel generiert hat.
Von mir aus auch wenn das CMS den Seitentitel an den Apache zurückliefert, die URL wird ja quasi auch dynamisch generiert und dann an den Apache zurückgeliefert, denn das Verzeichnis (die URL) z.b.
www.kunde.de/menu/1234567/index.html
(so lauten alle URLS, die 7-stellige Nummer ist die ID der Seite),
gibt´s ja nicht auf dem Apache, die Nummer ändert sich von Seite zu Seite.
Hier könnte ich aber die 1234567 am Apache eintragen, dann müsste ich aber ja jede ID einzeln eintragen und das manuell pflegen.
Das Problem ist das CMS.
ja, weiß ich, kann ich aber nicht ändern (zumindest nicht auf die Schnelle)
Danke und Grüße
John
Hi,
das CMS ist also unstrukturiert.
naja, intern nicht :-) aber nach außen halt.
Klar gibt´s intern Seitenbäume, ich kann Rechte etc innerhalb eines Seitenbaums vererben, auch Layoute, usw. etc... aber in der URL schlägt sich das halt nicht nieder.
Und das CMS erlaubt keine geschuetzen Bereiche?!
www.kunde.de/menu/1234567/index.html
(so lauten alle URLS, die 7-stellige Nummer ist die ID der Seite),
Und (in diesem Fall) 'menu' schuetzen geht nicht?
Hi,
das CMS ist also unstrukturiert.
naja, intern nicht :-) aber nach außen halt.
Klar gibt´s intern Seitenbäume, ich kann Rechte etc innerhalb eines Seitenbaums vererben, auch Layoute, usw. etc... aber in der URL schlägt sich das halt nicht nieder.Und das CMS erlaubt keine geschuetzen Bereiche?!
doch, klaro. Ich kann einzelne Seiten oder ganze Seitenäste schützen.
Das geht intern im CMS, d.h. ich gebe im Backend eine Seiten-ID ein (bzw. wähle die Seite über ne Maske aus) und kann dann sagen "nur registrierte Autoren dürfen auf diese Seite oder auf diese und alle darunterliegenden Seiten" zugreifen. Ich kann das auch auf bestimmte Autorengruppen oder einzelne Autoren runterbrechen, das geht alles (Aber man sieht es der URL eben nicht an).
Genau das will aber der Kunde auch nicht, er will das seine Mitarbeiter über seinen Proxy auf den internen "geschützten" Bereich ohne Benutzername/Kennwort zugreifen können ()rein lesendre Zugriff, dass sich die eigentlichen Autoren zum edititieren anmelden müssen ist klar).
Nur wer von extern ankommt soll die Passwortabfrage erhalten. Und das kann ich nicht über´s CMS abfackeln.
www.kunde.de/menu/1234567/index.html
(so lauten alle URLS, die 7-stellige Nummer ist die ID der Seite),
Und (in diesem Fall) 'menu' schuetzen geht nicht?
"menu" schützen ginge auf dem Apache natürlich sehr einfach, aber unter "menu" liegen halt sowohl die zu schützenden Seiten als auch die normale "Internet-Seite" die ja jeder aufrufen können soll.
Hätte die Internet-Seite das Verzeichnis /menu/ und die Intranet-Seite das Verzeichnis "intra" wäre es einfach. Genau das ist aber nicht der Fall.
Die URl´s heissen immer alle gleich...
Jau, dann geht´s wohl nicht...
Danke und Grüße
John
Hi!
Jau, dann geht´s wohl nicht...
Hm. Sieht so aus. Da hat man bei der Konzeption wohl arg geschlampt, wenn quasi Intranet und Internet nicht voneinander unterscheidbar sind.
Hi,
Die Abfrage müsste also geschehen, bevor J2EE den Seitentitel generiert hat.
Von mir aus auch wenn das CMS den Seitentitel an den Apache zurückliefert,
Du meinst also, wenn die Funktion "Datenbank löschen" passwortgeschützt werden soll, soll dies anhand des Seitentitels "Die Datenbank wurde gelöscht" festgemacht werden, den das CMS liefert, nachdem es die Datenbank gelöscht hat? Irgendwie wittere ich da einen Detailfehler im Konzept.
die URL wird ja quasi auch dynamisch generiert und dann an den Apache zurückgeliefert,
Nein, die URL wird höchstens vom CMS informativ an den Client geliefert, der sie vielleicht irgendwann vom Server anfordert. Im Verlaufe dieser Anforderung ist die URL für Apache gottgegeben und wird lediglich noch mit irgend etwas assoziiert, welches aus ihr hoffentlich weitere Rückschlüsse ziehen kann (falls nötig).
Ebenso gut hätte aber auch jemand die URL erfinden und per Hand in den Browser eingeben können. Das ist Apache egal.
denn das Verzeichnis (die URL) z.b.
www.kunde.de/menu/1234567/index.html
gibt´s ja nicht auf dem Apache, die Nummer ändert sich von Seite zu Seite.
Richtig. Apache erfährt auch nichts darüber, ob diese URL etwas Sinnvolles ergeben soll - der Server hat nur die Information, dass (z.B.) "/menu/" an eine Java-Technik übergeben werden soll. Der Rest ist dem Server solange egal, bis diese Technik antwortet (oder es überhaupt nicht tut, aber das ist ein anderes Thema).
Hier könnte ich aber die 1234567 am Apache eintragen, dann müsste ich aber ja jede ID einzeln eintragen und das manuell pflegen.
Ja. Um es noch mal zu wiederholen:
Das Problem ist das CMS.
Genau.
ja, weiß ich, kann ich aber nicht ändern (zumindest nicht auf die Schnelle)
Dann teile das dem Verantwortlichen mit. Er muss sich entscheiden, was er möchte.
Cheatah
Hi,
Oder sonst irgendeine Idee wie ich das autmoatisieren kann?
Ist das CMS durch Plugins o.ae. erweiterbar?
PHP geht übrigens nicht, ist ein J2EE CMS und auf den Server läuft kein PHP.
Na ja, auch damit sollte man entsprechende Header generieren koennen, um HTTP Auth selber zu implementieren.
MfG ChrisB