.htaccess

Lektor21

Erfahrenes Mitglied
Hallo!

Also wie man htaccess benutzt ist mir klar, aber ich möchte eben, dass von Leuten, die Direkt in das Verzeichnis wollen von denen Benutzer und Passwort abgefragt wird.
Alles klar das funktioniert.

Aber ich habe ein Script, indem ich einige Sachen prüfe und ich nun irgendwann mit dem Script auf das Verzeichnis zugreife um eine Datei zu downloaden.

Nun meine Frage:

Wie kann ich realisieren, dass dann automatisch Benutzer und Passwort eingetragen werden, ohne dass man das mitbekommt. D.h. dieses Anmeldefenster erst gar nicht erscheint, oder nur kurz :confused:
 
Wenn du eine HTTP-Authentifizierung meinst, ist das nur möglich, wenn entweder die Authentifizierung während der Browser-Sitzung bereits erfolgreich war und/oder die Authentifizierungsdaten clientseitig gespeichert werden und der Client sich automatisch authentisiert.
 
Hmm und wie mache ich diese HTTP-Authetifizierung?

Oder gibts eine bessere Möglichkeit einen Ordner zu schützen und nur Zugriffe durch das Script zuzulassen?

Muss es doch auch irgendwas geben oder? Dachte ich hätte schonmal irgendwo sowas gesehen!? :confused:

NACHTRAG: Kann man da vielleicht etwas mit Rechten erreichen?
 
Zuletzt bearbeitet:
Eine HTTP-Authentifizierung wird durch den HTTP-Header-Feld „WWW-Authenticate“ eingeleitet, das du entweder manuell setzen kannst (etwa mit PHP: siehe HTTP-Authentifizierung mit PHP) oder mithilfe des Webservers (beim Apache-Webserver: Authentication, Authorization and Access Control). Bei ersterem musst du den Zugriff auf die jeweiligen Dateien/Verzeichnisse auf ein Skript weiterleiten, das dann die Authentifizierung durchführt und die Inhalte ausliefert. Bei letzterem übernimmt der Webserver dies selbstständig.
 
Ich habe etwas sehr interessantes im Netz gefunden:

Also hier meine Idee die 100% funktionieren wird.

Zur Vorgeschichte.
Auf meiner Seite hatte ich auch eine Zeit lang 650 MB Große Dateien zum Download druf.
Nir kamen andere Seiten auf die Idee die Dateien direkt zu linken(Ich hasse Diebe.......glei HAND ab).

Nunja ich habe den Ordner mit einer .htaccess geschützt so das ein direkter aufruf über den Browsser zu einen 403 Error führte.

Da PHP serverseitig ausgeführt wird, beachtet PHP die .htaccess nicht mehr, wenn man z.B. den normalen Pfad http://www.domain.de/downloads/datei.zip in /var/www/virtual/domain.de/htdocs/downloads/datei.zip austauscht.

So kann das PHP-Script(Nur geltend für scripte auf dem eigenem Server) den Download starten aber kein andere Browser.

Nur ist mein Problem, dass wenn ich domain durch meine Ersetze ersetzte findet er das nicht!


PHP:
/var/www/virtual/domain.de/htdocs/downloads/datei.zip

Also wenn ich den FTP starte sehe ich gleich den Ordner Downloads und darin sind die Dateien!
 
Du musst natürlich den für dich gültigen absoluten Pfad nehmen. Der kann bei deinem Webserver nämlich ein völlig anderer sein.
 
Ich habs nun so gemacht:

Den Ordner habe ich geschützt, also durch Direkzugriff kann niemand zugreifen auf den Ordner!

Und in mein Script habe ich folgendes aufgenommen;

PHP:
$application = "rar";
$dateiname = "$download_path";
header("Content-type: application/$application");
header("Content-Disposition: attachment; filename=".$dateiname.".".$application."");
readfile("$download_path");

Funktionier auch, nur gibt er mir die ganze Datei in Zeichen usw. aus!?

Kann das sein, dass er die Datei zerlegt?
 
Du meinst so;

PHP:
$application = "rar";
$dateiname = "$download_path";
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=".$dateiname.".".$application."");
readfile("$download_path");

Aber irgendwie immer noch das gleiche! Also in dem endlosen Text sehe ich die Dateien die gepackt sind!
 
Zurück