.htaccess deny for all except include
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abrufen
all
anleitung
anweisung
apache
bekommen
browser
code
datei
folgendem inhalt
frage
geheim bleiben
interpreter
ordern
ordner
problem
sperren
url
verzeichnis
zugreifen
-
Hallo Community,
besser als hier lange im Chat zu schreiben eröffne ich hier mal ein Thema, so haben auch andere was davon.
Ich habe einen Ordner mit dem Namen 'includes' und habe dort ausschließlich Dateien drin, die über die PHP Funktion include() abgerufen werden.
Ich möchte, dass man aber nicht direkt z.b. über Link www.example.com/includes/include.php auf die Dateien zugreifen kann. Ich möchte sie aber mit .htaccess sperren, sie aber trotzdem für PHP include() erlauben, damit include() sie eben abrufen darf, andere aber nicht.
Eine weitere Frage: Ich habe auch alle CSS Dateien in einem Ordner und frage mich, ob dasauch mit den CSS Dateien möglich ist, also sie zu sperren, aber trotzdem darauf zuzugreifen.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Um Ein Verzeichnis komplett vor Zugriffen zu sperren reicht die Anweisung in der .htaccess (gespeichert im Ordner includes)
Mit Include kannst du trotzdem zugreifen, das ist von dem Verbot nicht betroffen.Deny from all
Bei deinem CSS solltest du wissen, dass du es niemals sicher verstecken kannst. Es muss ja zum Browser gelangen, damit er es anzeigt. Also ist es ganz logisch auch zugreifbar. -
ok vielen Dank.
Ich weiß jetzt auch warum bei mir das include trotzdem nicht angezeigt wurde. Ich lade Beiträge mit JS nach. JS kann ja der User selber in die Console schreiben, und deswegen ist es auch nicht möglich diese gesperrte Datei nachzuladen.
Gibt es für dieses Problem eine Lösung, oder darf man solche Dateien dann einfach nicht sperren? -
atraxoo schrieb:
Üblicherweise werden solche Dateien einfach nicht gesperrt. Es gibt zwar mögliche Lösungen, indem man z.B. den Referer auswertet, aber auch diese sind nicht ganz sicher und du könntest irgendwann damit Probleme bekommen.
Gibt es für dieses Problem eine Lösung, oder darf man solche Dateien dann einfach nicht sperren?
Wenn etwas geheim bleiben soll, nutzt man PHP. Javascript und Css, die zum Einsatz kommen lassen sich wie gesagt nicht geheim halten. -
ok danke für die Erklärung :)
-
Hallo,
fuerderer schrieb:
Wenn etwas geheim bleiben soll, nutzt man PHP
So gut ist dafür PHP auch nicht! Was ist wenn der PHP-Interpreter mal ausfällt, dann gibt der Webserver die Datei sofort ohne vorher den Code durchzugehen heraus! Eine gute Idee, aber keine Sichere!
Am sichersten ist ein Apache Verzeichnissschutz (Benutzerdateneingabe) oder wenn du sie garnicht erst an den Browser ausliefern möchtest, kannst du ganz einfach über eine .htaccess deinen Apache anweisen den Ordner /includes oder alle Datein (bei meinen Projekten) mit der Dateiendung *.inc.php nicht auszuliefern.
Bsp. Das Verzeichnis nicht ausliefern, einfach eine .htaccess in den Ordner mit folgendem Inhalt:
Order allow,deny Deny from all
Bsp. Dateiendungen nicht ausliefern, einfach im Hauptverzeichnis eine .htaccess und alle Endungen deklarieren:
<Files *.inc.php> Order Allow,Deny Deny from all Allow from all </Files>
Ein Beispiel für den Passwortschutz kannst du folgender Seite entnehmen. http://www.grammiweb.de/anleitungen/ka_htaccess.shtml
Viel Spaß Micha
Beitrag zuletzt geändert: 19.3.2015 18:24:50 von michaelkoepke -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage