# htaccess überschreiben / Interne Aufrufe zulassen



## lx2 (23. Juni 2009)

Erst mal Hallo!

Ich hab einen Ordner "galleries" der mit htaccess geschützt ist:


```
AuthType Basic
AuthUserFile C:/xampp/htdocs/galleries/.htpasswd
AuthName "Geschuetzer Bereich für den Admin"
order deny,allow
allow from all
require valid-user
```



Darin befinden sich für meine User mehrere Galleries (je ein User bekommt den Login für eine Gallery).
 Damit der User auf die Gallery zugreifen kann hab ich in seinem Gallery-Ordner eine neue htaccess-Datei, die die vom Überordner überschreibt.

z.B.:

```
AuthType Basic
AuthUserFile C:/xampp/htdocs/galleries/user1/.htpasswd
AuthName "Geschuetzer Bereich für Herr Maier"
order deny,allow
allow from all
require valid-user
```

Jetzt hab ich im Überordner einige swf-Templates erstellt , auf die ein Script der Unterordner zugreifen soll.

*http://localhost/galleries/user1/myscript.php* greift also Beispielsweise auf
*http://localhost/galleries/templat1.swf* zu.

Dieser Zugriff wird aber traurigerweise blockiert 

Kann ich an den htaccess Dateien schrauben, dass ein interner Zugriff erlaubt wird?


----------



## port29 (23. Juni 2009)

lx2 hat gesagt.:


> Kann ich an den htaccess Dateien schrauben, dass ein interner Zugriff erlaubt wird?



Interner Zugriff = über localhost als Hostname?
Das geht, in dem du allow from *** setzt.


----------



## Sven Mintel (23. Juni 2009)

Moin,

nimm eine Passwort-Datei für alle und packe diese in galleries.

In den .htaccess der Unterverzeichnisse frage dann nicht nach valid-user, sondern nach einem bestimmten, z.B.:
	
	
	



```
require user Maier
```

Falls du als Admin auch in die Unterverzeichnisse willst, ginge das über ein *AuthGroupFile*...da müsstest du dann für jedes Verzeichnis ein eigenes erstellen, bspw.

```
Benutzer: Maier Admin
```
...in der .htaccess in dem Unterverzeichnis dann:
	
	
	



```
Require group Benutzer
```

Falls du mit internem Zugriff jedoch meinst, dass Herr Maier selbst nicht auf galleries zugreifen darf, sondern nur die Skripte in seinem Unterverzeichnis...das geht nicht wirklich sicher.


----------



## lx2 (23. Juni 2009)

Danke für die Antworten, ich weiß nicht ob ich euch richtig verstanden habe?!

Also meine Ordnerstruktur

*...../galleries/*.* * (hier hat nur der Admin zugriff)

*...../galleries/user1/*.**    (Hier hat nur Herr Maier zugriff)
*...../galleries/user2/*.* *  (und hier nur Frau Müller)
*...../galleries/user3/*.**    (usw ...)
.
.
.


Jetzt hab ich eine die Datei
*...../galleries/template.swf*
die ja eigentlich nur für den Admin zugänglich ist.

Nun hat aber Herr Maier ein Script
*...../galleries/user1/maierscript.php*
das (zum Beispiel) das tamplate.swf umbenennt. --> geht nicht weil kein zugriff.
--------------------------------------


@Sven: wenn ich dich jetzt richtig verstanden hab soll ich

 ein zentrales *...../galleries/.htpasswd* anlegen
in jedem *...../galleries/user_x/.htaccess* den user verlangen
und wenn man von *...../galleries/* als Admin auch in die Unterverzeichnisse will, dann muss man mit AuthGroupFile arbeiten

ist dann wirklich sichergestellt, dass Scripte von Maier, Muller & Co auf *..../galleries/template.swf* zugreifen können MaierMüller&Co aber nicht in den Adminbereich kommen


@port29


> Das geht, in dem du allow from *** setzt.


Was wie wo, ich hab doch in beiden .htaccess ein _allow from all_
Bitte mal ein Beispiel geben


----------



## Sven Mintel (23. Juni 2009)

lx2 hat gesagt.:


> ist dann wirklich sichergestellt, dass Scripte von Maier, Muller & Co auf *..../galleries/template.swf* zugreifen können MaierMüller&Co aber nicht in den Adminbereich kommen



Nein, das ist es keinesfalls...sie kommen da herein.
Wenn man das wollte, müsste man mit dem HTTP-REFERER arbeiten, das ist aber unsicher, wie im letzten Satz meines vorigen Postings erwähnt.

Die HTTP-Authentification wird von Browser vorgenommen und dort auch für die Sitzung gespeichert....eine Unterscheidung ist da nicht möglich, der Browser wird bei jeder Anfrage die nötigen Header mitschicken.

Was du machen könntest, wäre ein Skript, welches die Templates aus galleries "abholt". Also ein Skript im Unterverzeichnis, welches das entsprechende Template übers Dateisystem ausliest und in geeigneter Form an das andere Skript ausgibt.
Das wäre dann keine HTTP-Anfrage, und somit auch von dem Verzeichnisschutz nicht betroffen.
In dem Fall könntest du alles lassen, wie du es am Anfang hattest 

Was auch noch ginge, wäre, Herrn Maier und seinen Skripten nur Zugriff auf bestimmte Dateien im übergeordneten Verzeichnis zu gewähren, falls dies ausreichen würde.


----------



## lx2 (24. Juni 2009)

Ok, dann hab ich jetzt ein kleines Problem!
Weil ich leider gezwungenermaßen HTTP-Anfragen benutze.

Dann werd ich mal ganz konkret, sonst wird das hier nix mehr.
MaierMüller&co war nur ein Beispiel. 

Bei mir sieht das folgendermaßen aus:

Ich bastle geraden an einem Albumkonfigurator in Flash.
Im Ordner *../galleries* habe ich vorgefertigte Dateien. (*.php & configurator.swf )
Wenn der Admin ein neues Album erstellt, wird ein neuer Unterordner mit htaccess generiert, Fotos upgeloadet und eben diese  vorgefertigten Dateien (personalisiert) in den Unterorder kopiert.

Wenn ein User seinen Unterorder aufruft, kann er gewünschte Fotos anklicken und ein Layout wählen. Dann startet er den Flash Konfigurator.
Der soll sich jetzt - basieren auf das gewählte Layout - die Templatedateien aus dem Überordner holen (Da gibts nämlich *.../galleries/layout1.swf - layout20.swf*). Und Flash arbeitet soweit ich weiß mit HTTP-Protokol.

Jetzt hab ich festgestellt, dass wenn ich im Überordner (also den Galleries-Ordner) die .htaccess lösche geht das einwandfrei. Sobald ich die aber drin hab, hat der Konfigurator (logischerweise) keinen Zugriff.

Ich könnte jetzt natürlch beim erstellen eines Albums die Layouts gleich mit in den Unterordner kopieren, Problem ist jedoch, dass sich die Layouts öfters mal ändern können, oder neue hinzukommen. Deswegen will ich die zentral/dynamisch verwalten.

Was mir jetzt am liebsten wäre:


> Herrn Maier und seinen Skripten nur Zugriff auf bestimmte Dateien im übergeordneten Verzeichnis zu gewähren



Wie kann ich sowas verwirklichen. Kann ich dem Apache irgendwie beibringen, dass configurator.swf auf die Templates zugreifen darf?

Oder muss ich tatsächlich ein Php-Script basteln, das vom configurator.swf gesagt bekommt, welche Templates es sich "abholen" / kopieren soll und dann dem Konfigurator rückmeldung gibt sobald die Teplates in den Unterordner kopiert worden sind?

now , it's getting complicated ...

-------------------------------------------------------------
@Sven: Sorry das ichs immer noch nich schnall und hier weiter nerve; vielleicht brauch ich ja nur noch einen kleinen Schubs in die richtige Richtung. Htaccess ist noch ein bisschen Neuland. Danke für die bisherigen Antworten


----------



## Sven Mintel (24. Juni 2009)

lx2 hat gesagt.:


> Oder muss ich tatsächlich ein Php-Script basteln, das vom configurator.swf gesagt bekommt, welche Templates es sich "abholen" / kopieren soll und dann dem Konfigurator rückmeldung gibt sobald die Teplates in den Unterordner kopiert worden sind?



Jo, das wäre der Weg...wobei die swf-Dateien nicht kopiert werden müssen, das PHP-Skript, welches das "abholen" übernimmt, könnte einen Flash-Header senden und die Datei/en direkt ausgeben.

Wobei sich mir noch nicht erschliesst, warum Herr Maier nicht selbst auf diese Dateien zugreifen können soll, sondern nur das Skript.


----------



## lx2 (24. Juni 2009)

Einen noch:



> Wobei sich mir noch nicht erschliesst, warum Herr Maier nicht selbst auf diese Dateien zugreifen können soll, sondern nur das Skript.



Damit er nicht (durch erraten der richtigen Url) in den Adminbereich, also z.B. *.../galleries/admin.php*, zugreifen kann! Es soll doch nur seine configurator.swf auf die Tamplates zugriff haben.

Oder reden wir grad aneinander vorbei


----------



## Sven Mintel (24. Juni 2009)

> Oder reden wir grad aneinander vorbei



Gut möglich 

Dass es möglich, nur auf einen Teil der Dateien(bspw. swf-Dateien) Zugriff zu Gewähren, hatte ich ja bereits geschrieben,,,und nur an diese muss Herr Maier(bzw. seine Skripte) ja heran.


----------

