Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Komplexe .htaccess (https://www.delphipraxis.net/151649-komplexe-htaccess.html)

moritz 26. Mai 2010 19:07


Komplexe .htaccess
 
Guten Abend!

Ich habe ein kleines Problem mit der Erstellung einer .htaccess-Datei und komme leider nicht mehr weiter.

Das Szenario ist folgendes: Ich habe mir einen Digitalen Bilderrahmen zugelegt, der Bilder per RSS-Feed von meinem Server lädt. Leider unterstützt der Rahmen keine Passwort-Abfrage. Deswegen würde ich die Bilder gerne auf eine andere Art schützen und dachte dabei an .htaccess. Leider sendet der Bilderrahmen auch keinen User-Agent (die Anfrage ist ziemlich nackt *g*), weswegen das wegfällt.

Allerdings sendet der Rahmen immer nur zwei Anfragen:
/var/albums/*
/index.php/rss/*

Mir wäre es schon Sicherheit genug, nur diese beiden Anfragen "pauschal" zuzulassen. Dafür habe ich folgenden Code:
Code:
RewriteCond %{QUERY_STRING} !/var/albums/.*
RewriteCond %{QUERY_STRING} !/index.php/rss/.*
Jetzt würde ich allerdings gerne alle andere Anfragen durch eine .htaccess-Passwortabfrage schützen...und genau da finde ich leider nicht, wie ich das machen kann.

Kann mir jemand eine Tipp geben?

Vielen Dank und liebe Grüße,
Moritz

Mithrandir 26. Mai 2010 19:14

Re: Komplexe .htaccess
 
Was passiert, wenn du nach deinen Ausdrücken
Code:
AuthType Basic
AuthName "Geheime Bilder"
AuthUserFile FILE
require valid-user
einfügst und hier http://www.ekiwi.de/tools/htaccess/index.php dir eine Passwort-Datei generierst?

Denn wie es aussieht, prüfst du ja, ob der Ausdruck nicht im Querystring ist.

SirThornberry 26. Mai 2010 19:36

Re: Komplexe .htaccess
 
Die URL welche der Bilderrahmen abfragt kannst du doch angeben oder?
Entsprechend könntest du auf deinem Webserver die Daten einem einem kryptisch benanntem Ordner hinterlegen was einem Passwort welches per GET übermittelt wird gleich kommt (von der Sicherheit).
Natürlich ginge auch ein Script welches ein per GET übermitteltes Passwort prüft und entsprechend dann das Ergebnis liefert.
Oder muss es unbedingt eine Lösung per .htaccess sein?

moritz 26. Mai 2010 19:45

Re: Komplexe .htaccess
 
Danke erstmal für die Antworten!

Das Problem mit der PW-Abfrage ist, dass sie ja nur erscheinen darf, wenn nicht /index.php/feed/* oder /var/albums/* aufgerufen wird, und mod_rewrite macht mir da ja keine Bedingung draus, oder?

Leider kann ich den URL nicht angeben, da die Bilder über "Gallery 3" verwaltet werden ... deswegen bin ich wohl oder übel auf .htaccess angewiesen.

Im Prinzip bräuchte ich sowas:
Code:
AuthType Basic
AuthName "Passwortabfrage"
AuthUserFile .htpasswd
require valid-user

#Zugriff erst nach Passwortabfrage oder wg. Verzeichniss
order deny,allow
deny from all
allow "/index.php/feed/*"
allow "/var/albums/*"
satisfy any
Leider habe ich noch nicht viel Erfahrung mit htaccess...

Viele Grüße!

generic 26. Mai 2010 20:36

Re: Komplexe .htaccess
 
Du musst mit
Files, FilesMatch, Directory oder den DirectoryMatch Direktiven arbeiten.
http://httpd.apache.org/docs/2.2/mod...tml#filesmatch

Dort kannst du dann den Schutz bzw. die
Code:
AuthType Basic
AuthName "Passwortabfrage"
AuthUserFile .htpasswd
require valid-user
Sachen nutzen.

Aber auf dein ursprüngliches Problem zu kommen, klar kannst du User und Passwort vom Rahmen übermitteln lassen.
Setze die Auth mit in die Uri, welche die Sachen abrufen.
http://de.wikipedia.org/wiki/Uniform_Resource_Locator

moritz 26. Mai 2010 21:10

Re: Komplexe .htaccess
 
Ok, ich damit jetzt mal was gebastelt:

Code:
SetEnvIfNoCase User-Agent .*Firefox.* alwd


Order Deny,Allow
Satisfy any
Deny from all
Allow from env=alwd


<LocationMatch "/">
   Allow from all
</LocationMatch>


AuthUserFile .../Pfad.../.htpasswd
AuthName "Galerie"
AuthType Basic
require valid-user
Wenn ich den LocationMatch - Teil rausnehme, klappt alles. Ist er drin, bekomm ich einen 500er Error - leider habe ich keinen Zugriff zum Error Log.

Kann sich jemand erklären, warum das so ist?

(Leider spinnt der Rahmen, wenn ich das Passwort per URL übergebe... Aber sonst ne super Idee!)

Valle 27. Mai 2010 13:43

Re: Komplexe .htaccess
 
Zitat:

Zitat von moritz
Wenn ich den LocationMatch - Teil rausnehme, klappt alles. Ist er drin, bekomm ich einen 500er Error - leider habe ich keinen Zugriff zum Error Log.

Hier unter Kontext steht geschrieben, dass ein LocationMatch in einer htaccess-Datei nicht erlaubt ist. Du musst diese in die Server Konfiguration direkt schreiben, brauchst also Root-Zugriff auf die Maschine. (Den du ja - wie ich aus deiner Error-Log-Aussage schließe - nicht hast?)

Liebe Grüße,
Valle

moritz 27. Mai 2010 15:13

Re: Komplexe .htaccess
 
Hallo,

oha - das habe ich nicht gesehen.

Habe mich eben nochmal hingesetzt und jetzt doch eine Lösung gefunden:
Code:
SetEnvIf Request_URI "/var/" alwd
SetEnvIf Request_URI "index.php/rss" alwd


Order Allow,Deny
Satisfy any
Allow from env=alwd


AuthUserFile /PFAD/.htpasswd
AuthName "Galerie"
AuthType Basic
require valid-user
Klappt super - die beiden Anfragen werden zugelassen, sonst wird nach dem PW gefragt.

Danke euch allen für die Hilfe :dp:

Viele Grüße!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz