1. #1

    Registriert seit
    18.06.2012
    Beiträge
    90
    Thanked 6 Times in 6 Posts

    Standard htaccess deny all außer DirectoryIndex

    Hallo,

    Ich würde gerne den Zugriff auf alle Dateien im DocumentRoot abgesehen vom DirectoryIndex verweigern, ist das möglich?
    Falls ja, wüsste ich gerne, wie.
    Falls nicht würde ich mich über andere Vorschläge freuen.

    Das Verzeichnis ist in etwa so aufgebaut:
    /other
    index.php
    datei1.php
    datei2.exe
    datei3.png
    datei4.html
    datei5

    Der Zugriff soll lediglich auf /other (d.h. alle Unterverzeichnisse) und index.php gewährt werden.
    Ich habe bereits versucht mit
    Code:
    order deny, allow
    deny from all
    <Files index.php>
    allow from all
    </Files>
    dies zu bewerkstelligen, allerdings funktioniert dadurch der DirectoryIndex nicht mehr (www.domain.de/index.php ist erlaubt, http://www.domain.de jedoch nicht)

    MfG
    Geändert von bluedraqon (19.07.2013 um 16:10 Uhr)
    -

  2. #2
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.210
    Thanked 9.132 Times in 3.006 Posts
    Blog Entries
    5

    Standard AW: htaccess deny all außer DirectoryIndex

    Spontan würde ich sagen

    Code:
    Order deny,allow
    <FilesMatch "\.(php|exe|png|html)$">
        Deny from all
    </FilesMatch>
    <Files index.php>
        Allow from all
        Satisfy any
    </Files>
    Verbietet den Zugriff auf alle php, exe, png und html-Dateien außer index.php.
    Kann aber gut sein, dass es da noch ne schönere Lösung gibt. Setze Apache schon seit Ewigkeiten nicht mehr ein.
    Wobei sich mir da die Frage stellt, wieso du Zugriff auf den DirectoryIndex und gleichzeitig auf die index.php haben willst. Letzteres ersetzt für gewöhnlich ja ersteres.


  3. The Following User Says Thank You to DMW007 For This Useful Post:

    bluedraqon (19.07.2013)

  4. #3
    Avatar von Ta1lor
    Registriert seit
    15.11.2011
    Beiträge
    767
    Thanked 832 Times in 435 Posts

    Standard AW: htaccess deny all außer DirectoryIndex

    Code:
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^other/ [OR]
    RewriteCond %{REQUEST_URI} !^index.php$
    RewriteRule .* - [F]
    Sollte ein 403 zurück geben wenn was anderes als index.php bzw /other aufgerufen wird.
    Geändert von Ta1lor (19.07.2013 um 19:05 Uhr)

  5. The Following User Says Thank You to Ta1lor For This Useful Post:

    bluedraqon (19.07.2013)

  6. #4

    Registriert seit
    18.06.2012
    Beiträge
    90
    Thanked 6 Times in 6 Posts

    Standard AW: htaccess deny all außer DirectoryIndex

    Das funktioniert, allerdings gibt's auch 403 wenn nichts aufgerufen wird.

    @DMW007
    Der Grund warum ich das bewusst getrennt habe ist, dass ich versucht hab Zugriff auf alles außer index.php zu verweigern, allerdings ist dann auch der Zugriff auf die Domain selbst verweigert, wenn nicht explizit index.php aufgerufen wird.

    /e
    Folgendes funktioniert z.T.:

    Order deny,allow
    Deny from all
    <Files ~ "^(bluedra.php|)$">
    Allow from all
    Satisfy any
    </Files>
    Was muss ich hinzufügen um den Zugriff auf Unterverzeichnisse zu erlauben? StyleSheets und Bilder werden nämlich nicht geladen :/

    /e2
    Nach nem bisschen herumprobieren habe ich es nun so gelöst:
    Code:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^bluedra.de$ [NC]
    RewriteRule ^(.*) http://www.bluedra.de/$1 [L,R=301]
    DirectoryIndex bluedra.php
    ErrorDocument 404 /404
    ErrorDocument 403 /404
    Order deny,allow
    Deny from all
    <Files ~ "^(bluedra.php|)$">
        Allow from all
    </Files>
    <FilesMatch "\.(png|jpg|css|ept|ptf|svg|ttf|woff|htm|html)$">
        Allow from all
        Satisfy any
    </FilesMatch>
    Funktioniert bestens. Hätte ich ohne eure Vorschläge nicht hinbekommen, vielen Dank
    Geändert von bluedraqon (19.07.2013 um 23:19 Uhr)
    -

  7. #5
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.210
    Thanked 9.132 Times in 3.006 Posts
    Blog Entries
    5

    Standard AW: htaccess deny all außer DirectoryIndex

    Das Oder in deiner Files-Bedingung kann da aber auch raus, genau so wie an sich der gesamte Reguläre Ausdruck wenn es nur um einen statischen Dateiname geht.
    Mal ne andere Frage: Wieso löst du das eigentlich so kompliziert? Wenn du deinen Webspace als Storage für Daten verwendest die niemand runterladen können soll oder so was in der Art wäre es sinnvoller, du machst dafür einen seperaten Ordner und machst da ne .htaccess mit

    Code:
    Order deny,allow
    Deny from all
    rein. Das ist auch übersichtlicher, wenn du da parallel noch eine Webseite hosten willst.


  8. #6

    Registriert seit
    18.06.2012
    Beiträge
    90
    Thanked 6 Times in 6 Posts

    Standard AW: htaccess deny all außer DirectoryIndex

    Das ist ne stinknormale Website. Ich habe nur im Moment langeweile und bin recht experimentierfreudig...
    Die Website besteht jedoch nur aus dieser einen Datei, alle anderen Dateien werden via .php includiert.
    Wenn ich wüsste wie ich mittels php ein Bild einbinden kann ohne die URI im Quellcode zu haben, dann bräuchte ich die ganzen Ausnahmeregeln nicht
    -

  9. #7
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    6.210
    Thanked 9.132 Times in 3.006 Posts
    Blog Entries
    5

    Standard AW: htaccess deny all außer DirectoryIndex

    Das ist ein Einzeiler:

    PHP-Code:
    echo file_get_contents("images/header.png"); 
    Es ist sinnvoll erst mal das eigentliche Problem zu schildern und dann dazu einen möglichen Lösungsvorschlag anstatt nur letzteres. Meistens gibt es nämlich andere Lösungen, die nicht nur einfacher sondern auch flexibler sind. So was in der Art habe ich mir schon halb gedacht weil die Fragenstellung eher untypisch war, daher auch meine Nachfrage.


  10. #8

    Registriert seit
    18.06.2012
    Beiträge
    90
    Thanked 6 Times in 6 Posts

    Standard AW: htaccess deny all außer DirectoryIndex

    Es geht eigentlich "nur" darum, dass Besucher meiner Seite auf nichts zugreifen können sollen außer dem Index. Wozu das gut sein soll? Keine Ahnung.... ^^
    -

  11. #9

    Registriert seit
    27.08.2013
    Beiträge
    3
    Thanked 0 Times in 0 Posts

    Standard AW: htaccess deny all außer DirectoryIndex

    So gesehen kann das auch keiner sofern Directory listing abgeschalten wurde, allerdings sind die vorschläge zum sperren der datei typen schon ausreichend.

Ähnliche Themen

  1. Depression, Leben außer Kontrolle
    Von Misere im Forum Zwischenmenschliches
    Antworten: 11
    Letzter Beitrag: 21.07.2013, 21:10
  2. Antworten: 0
    Letzter Beitrag: 25.08.2012, 09:55
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.