Zugriff anhand URL steuern

Alles, was den Apache betrifft, kann hier besprochen werden.

Zugriff anhand URL steuern

Postby TheFish1 » 03. April 2009 17:34

Hallo Leute,

ich habe jetzt recht lang gesucht und finde keine Lösung:

ich möchte den Zugriff auf Seiten mit bestimmter URL durch ein Passwort schützen. Allerdings nicht auf ein ganzes Verzeichnis. Genauergesagt soll der Zugriff unterbunden werden, wenn irgendwo in der URL "Protected:" auftaucht.

Verwenden möchte ich das, um Seiten in einem MediaWiki ohne großen Aufwand auch zum Lesen zu sperren. Bei MediaWiki kann man Namespaces definieren - die stehen dann immer durch einen Doppelpunkt getrennt vor dem Titel der Seite. "Hilfe" wäre ein Namespace der standardmäßig existiert (Beispiel: http://de.wikipedia.org/wiki/Hilfe:Navigation).

Hoffe es kann mir jemand helfen.
TheFish1
 
Posts: 2
Joined: 03. April 2009 17:21

Re: Zugriff anhand URL steuern

Postby Nobbie » 04. April 2009 10:16

Mit normalen Apache Boardmitteln wird das nicht ohne weiteres möglich sein, da aber URLs wie http://de.wikipedia.org/wiki/Hilfe:Navigation sowieso auf ungültige Dateien verweisen, betreibt Wikipedia offensichtlich schon irgendeinen Aufwand, die URL zu parsen und entsprechende Aktionen zu veranlassen.

Ob das innerhalb irgendwelcher PHP-Scripte geschieht und/oder mittels mod_rewrite, müßtest Du selbst herausfinden und an dieser Stelle wäre es die richtige Stelle, diesen neuen Namespace mit diesem neuen Verhalten einzubauen. Vielleicht gibt es ja sogar im Backend von Wikipedia die Möglichkeit, eigene Namespaces mit vordefiniertem Verhalten zu definieren - ich habe noch nie mit Wikipedia selbst etwas gemacht, deswegen kenne ich das nicht.

Ggf. solltest Du ein Wikipedia Supportforum aufsuchen, ob die Dir dabei weiterhelfen können, da diese Anforderung ohne Kenntnisse über Wikipedia nicht lösbar ist (wenn überhaupt).
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: Zugriff anhand URL steuern

Postby Wiedmann » 04. April 2009 13:15

ich möchte den Zugriff auf Seiten mit bestimmter URL durch ein Passwort schützen. ... wenn irgendwo in der URL "Protected:" auftaucht.

Code: Select all
<LocationMatch "Protected:">
    # hier dann die Directiven für den Passwortschutz
</LocationMatch>
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Zugriff anhand URL steuern

Postby Nobbie » 04. April 2009 16:21

Wiedmann wrote:
ich möchte den Zugriff auf Seiten mit bestimmter URL durch ein Passwort schützen. ... wenn irgendwo in der URL "Protected:" auftaucht.

Code: Select all
<LocationMatch "Protected:">
    # hier dann die Directiven für den Passwortschutz
</LocationMatch>


Das ist zwar wirklich eine hübsche Lösung - aber was soll nach erfolgreich eingegenem Passwort passieren (ohne Anpassung im Wikipedia)?
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: Zugriff anhand URL steuern

Postby Wiedmann » 04. April 2009 16:40

aber was soll nach erfolgreich eingegenem Passwort passieren (ohne Anpassung im Wikipedia)?

Der User erhält wie gewünscht Zugriff auf diese URI. Dem Wiki ist dasvöllig egal sein, ob es zuvor eine Auth gab oder nicht.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Zugriff anhand URL steuern

Postby Nobbie » 04. April 2009 19:20

Wiedmann wrote:Der User erhält wie gewünscht Zugriff auf diese URI. Dem Wiki ist dasvöllig egal sein, ob es zuvor eine Auth gab oder nicht.


Das ist klar, aber was bedeutet diese URI? Ein gültiger Dateiname wird da sicherlich nicht herauskommen und wie interpretiert das Wiki das "Protected:"?

Soll nicht mein Problem sein, aber irgendwie muss man dem Wiki noch beibringen, was es mit "Protected:" anfangen soll. Oder andersherum: was passiert denn heute, wenn man so etwas eingibt (ohne Login)?
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: Zugriff anhand URL steuern

Postby Wiedmann » 04. April 2009 19:25

aber irgendwie muss man dem Wiki noch beibringen,

Nachdem das Wiki ja wohl schon solche URIs erzeugt (erzeugen kann durch definierte "Namespaces"), sonst gäbe es diese ja nicht bereits, wird es wohl auch wissen, was es damit anfangen soll.

Oder anders, dem Wiki ist es egal ob da "Protected:" oder "Wasweisich:" steht. Es erzeugt einfach Links anhand des konfigurierten Namespace (~Namen) für einen Bereich. Und anhand dem was in der URI steht, werden dann die Seiten aus einem gewünschten Bereich ausgeliefert.

Aber das war ja auch nicht die Frage. Sondern wie man eine Auth explizit für bestimmte URI's einrichtet. Und das wurde beantwortet.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Re: Zugriff anhand URL steuern

Postby Nobbie » 04. April 2009 20:57

Wiedmann wrote:
aber irgendwie muss man dem Wiki noch beibringen,

Nachdem das Wiki ja wohl schon solche URIs erzeugt (erzeugen kann durch definierte "Namespaces"), sonst gäbe es diese ja nicht bereits, wird es wohl auch wissen, was es damit anfangen soll.


Das ist eben die Frage - sind Namespaces frei definierbar oder gibt es fest vordefinierte Namespaces und damit verbundene, ebenso fest vordefinierte Aktionen? Keine Ahnung.

Wiedmann wrote:
aber irgendwie muss man dem Wiki noch beibringen,

Sondern wie man eine Auth explizit für bestimmte URI's einrichtet.


Wenn die Apache Auth die gewünschte ist, ganz sicher. Aber falls eine Authorierung gegen die Wikipediabenutzerverwaltung das "eigentliche" Ziel ist (ich kann das aus der Beschreibung nicht erkennen), könnte das möglicherweise so nicht gehen.

Aber wahrscheinlich denke ich viel zu kompliziert und das Problem ist damit längst erledigt. Immerhin habe ich wieder was gelernt, den LocationMatch hatte ich bis dato auch noch nicht gesehen.
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: Zugriff anhand URL steuern

Postby TheFish1 » 06. April 2009 12:29

Danke für die Antworten!

Das mit dem LocationMatch hat wunderbar funktioniert, danke!

Soll nicht mein Problem sein, aber irgendwie muss man dem Wiki noch beibringen, was es mit "Protected:" anfangen soll. Oder andersherum: was passiert denn heute, wenn man so etwas eingibt (ohne Login)?


Dazu kann man in der Wiki-Konfiguration einen neuen Namespace definieren. Dann erkennt das Wiki das "Protected:" im Seitentitel als Namespace. Wiki-Intern bedeutet das im Wesentlichen, dass diese Seiten aus der regulären Suchfunktion ausgeklammert ist. Ist wie schon erwähnt aber tatsächlich für meinen Fall total egal was das Wiki damit macht. Prinzipiell könnte man den neuen Namespace auch komplett weg lassen um den gewünschten Effekt zu erzielen. Alle Wiki-Artikel die jetzt mit "Protected:" beginnen, können nur von Benutzern angezeigt werden, die vom Apache Server dazu authorisiert werden.
Was passiert, wenn man die Seite ohne login aufruft: Error 403, Permission denied vom Apache :)
TheFish1
 
Posts: 2
Joined: 03. April 2009 17:21


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests