php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.03.2009, 14:25  
Neuer Benutzer
 
Registriert seit: 16.02.2009
Beiträge: 11
Chitino befindet sich auf einem aufstrebenden Ast
Standard Dateizugriff sperren

Hallo zusammen,

ich habe im Augenblick ein Problem, womit ich sogar Schwierigkeiten habe, die richtigen Suchworte zu finden, um dieses überhaupt zu beschreiben. Aber vielleicht versteht Ihr meine Erklärung ja.

Also folgendes:

Ich habe ein Webportal basierend auf PHP und MySQL programmiert, mit dem man Dokumente austauschen kann. Die registrierten Benutzer müssen das Login benutzen, um überhaupt die Dateien sehen und runterladen zu können. Soweit funktioniert das auch alles ganz gut.
Nun habe ich aber heute festgestellt, daß falls man den Dateinamen kennt oder ihn den Dateinamen errät, die Dateien auch ohne Login runterladen könnte. Dazu müßte man einfach nur den Pfad im Browser eingeben (z.B. domain.de - Domainabfrage).

Nun könnte ich natürlich das Verzeichnis mit HTACCESS schützen, aber dann müßten sich die Benutzer, auch wenn Sie sich ordnungsgemäß im Webportal angemeldet haben, nochmal für das Verzeichnis authentifizieren. Und das möchte ich eigentlich nicht.

Was kann ich also tun, wenn ich das Verzeichnis einerseits vor dem direkten Zugriff von Außen schützen, andererseits aber den angemeldeten Benutzer uneingeschränkten Zugriff erlauben möchte?

Vielen Dank schon einmal vorab für Eure Vorschläge...

Chitino
Chitino ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.03.2009, 14:31  
Erfahrener Benutzer
 
Registriert seit: 02.12.2008
Beiträge: 357
webproger befindet sich auf einem aufstrebenden Ast
Standard

Hallo

Ich habe mal davon gehört das man .htaccess in einer eigenen Datenbank abspeichern kann. So kannst du .htaccess mit deiner eigenen Benutzerdatenbank koordinieren und hast die Probleme nicht mehr. Oder liege ich da falsch?

webproger
__________________
webproger ist offline  
Alt 26.03.2009, 15:04  
Neuer Benutzer
 
Registriert seit: 16.02.2009
Beiträge: 11
Chitino befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Info.

Hab grad mal ein bisschen gegoogelt.
In
.htaccess schutz mit MySQL user_db
wird diese Art beschrieben. Mal schauen, ob ich das auch für meine Zwecke brauchen kann, da ich wahrscheinlich keinen Zugriff auf die Http.conf habe.

Melde mich dann wieder...

Vielleicht hat ja jemand in der Zwischenzeit noch einen anderen Vorschlag...

Grüße
Chitino ist offline  
Alt 26.03.2009, 15:29  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Du kannst die Dateien in einem Ordner ablegen, der nicht über das Web erreichbar ist. Wenn dein www-Ordner zB auf dem Server auf /domainname/www/ liegt, dann baust du den Dokumentenordner auf /domainname/docs/

Die Dateien bietest du dann mit der PHP-Anweisung readfile zum Download an. Ich habe so was ähnliches für csv-Files gemacht, hier wirst du also die Zeile content type anpassen müssen:
PHP-Code:
            header('Content-Description: File Transfer');
            
header("Content-Type: text/x-csv"); 
            
header('Expires: 0');
            
header("Content-Disposition: attachment; filename=$filename"); 
            
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
            
header('Pragma: public');
            
header('Content-Length: ' filesize($filename));
            
readfile($filename); 
Wolla ist offline  
Alt 26.03.2009, 15:29  
Neuer Benutzer
 
Registriert seit: 16.02.2009
Beiträge: 11
Chitino befindet sich auf einem aufstrebenden Ast
Standard

Tja,
so wie es aussieht, kann ich bei meinem Hosting Vertrag weder das erforderliche "mod_auth_mysql"-Modul installieren, noch die HTTP-Conf anpassen.

Bräuchte also noch eine andere Lösung. Hat jemand noch einen?
Chitino ist offline  
Alt 26.03.2009, 15:32  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Ergänzung:

Wenn dein Webspace auch keine Ordner ausserhalb des Webs zulässt, und auch keine htaccess möglich ist, dann könnte es auch klappen, diesem Ordner einen sehr kryptischen namen zu geben - der Ordnername ist ja nirgendwo mehr sichtbar.
Wolla ist offline  
Alt 26.03.2009, 15:51  
Neuer Benutzer
 
Registriert seit: 16.02.2009
Beiträge: 11
Chitino befindet sich auf einem aufstrebenden Ast
Standard

@Wolla
Danke für Deine Möglichkeiten.
Zum ersten Vorschlag: Ich habe einen gemieteten Server auf dem Apache läuft und der eine eigenen IP-Adresse hat. Wenn ich nun meinen Dateiordner direkt in das htdocs Verzeichnis lege, ist es aber denoch über die IP-Adresse des Servers ansprechbar (z.B. http://10.10.10.10/files/...). Auf die Verzeichnis oberhalb habe ich leider keinen Zugriff.
Damit fällt diese Möglichkeit leider aus.

Zur zweiten Möglichkeit: Wäre natürlich eine Lösung, aber die Dateien wären dann trotzdem immer noch mit der direkten Eingabe abrufbar (wenn auch nicht mehr ganz so einfach).

Da muß es doch noch eine andere Lösung geben, oder?
Chitino ist offline  
Alt 26.03.2009, 18:13  
Registrierer
Gast
 
Beiträge: n/a
Standard

Na sicher. Ob es die eleganteste Lösung ist weiss ich nicht, aber es funktioniert...
Die Rechte der betreffenden Dateien mit chmod auf 0600 setzen, dann funktioniert nur noch das Herunterladen per Verknüpfung. Ein direkter Aufruf der Datei oder das Betrachten ist nicht mehr möglich.

Helmut
 
Alt 26.03.2009, 18:18  
Erfahrener Benutzer
 
Benutzerbild von jw-lighting
 
Registriert seit: 25.03.2009
Beiträge: 126
PHP-Kenntnisse:
Fortgeschritten
jw-lighting befindet sich auf einem aufstrebenden Ast
jw-lighting eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Registrierer Beitrag anzeigen
N mit chmod auf 0600 setzen, dann funktioniert nur noch das Herunterladen per Verknüpfung.
Wenn ich das richtig verstehe, würde es also reichen sich ne kleine HTML-datei mit nem Link drin zu schreiben? Toller Schutz
jw-lighting ist offline  
Alt 27.03.2009, 00:19  
Neuer Benutzer
 
Registriert seit: 16.02.2009
Beiträge: 11
Chitino befindet sich auf einem aufstrebenden Ast
Standard

@ Helmut:
Danke für diesen Vorschlag. Es wäre zwar noch nicht optimal, aber immerhin schon einmal ein Schritt in die richtige Richtung. Aber leider funktioniert Dein Vorschlag bei mir nicht.
Habe eine Textdatei und eine HTML-Datei mit einem Link auf diese Datei hochgeladen
Code:
<a href="textdatei.txt">Download</a>
Der Link funktioniert und natürlich auch der direkte Zugriff. Dann Zugriffsrechte mittels CHMOD auf 0600 gesetzt. Danach konnte ich weder mit dem Link noch direkt auf die Textdatei zugreifen. Muß ich irgendwas am Link beachten?

@ jw-lighting:
Tja, das ist genau das, warum ich noch nicht 100% davon überzeugt bin...

Geändert von Chitino (27.03.2009 um 00:29 Uhr).
Chitino ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
txt datei beim schreiben sperren Quest15041983 PHP Tipps 2008 2 16.02.2008 21:09
Bilder vor externen Zugriff sperren? BartTheDevil89 PHP Tipps 2007 5 14.01.2007 15:25
copy & paste sperren? bifi5590 HTML, Usability und Barrierefreiheit 17 02.10.2006 14:05
Mitglied sperren, bannen ... imported_Ben Off-Topic Diskussionen 2 10.09.2006 15:16
.htaccess // alles sperren außer einem Ordner JEGO PHP Tipps 2006 6 21.02.2006 19:23
Eingabefeld sperren, wenn Wert eingegeben wird Mike55 HTML, Usability und Barrierefreiheit 3 17.01.2006 19:24
bestimmtes verzeichnis immer sperren mAy^daY Server, Hosting und Workstations 3 03.01.2006 12:46
Variable sperren? Anotherone PHP Tipps 2007 4 01.12.2005 21:33
input box gegen schutz der veränderung sperren HTML, Usability und Barrierefreiheit 8 08.09.2005 21:14
Dateizugriff sperren, wenn Aktion in gang tekknotrip PHP Tipps 2005-2 1 06.09.2005 17:33
Zugriff auf einen Datensatz sperren ??? sharky PHP Tipps 2005 1 16.04.2005 00:14
[Erledigt] Datensätze sperren in PHP? Datenbanken 5 22.02.2005 19:22
Datei sperren PHP Tipps 2004-2 9 15.12.2004 14:29
Email adressen sperren PHP Tipps 2004-2 18 19.11.2004 09:55
[Erledigt] Sperren von Tabellen Datenbanken 3 29.10.2004 19:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php dateizugriff, php datei sperren, htaccess dateizugriff, php direkten zugriff auf datei verbieten, php dateizugriff sperren, dateizugriff sperren, htaccess dateizugriff sperren, dateizugriff php, apache dateizugriff, dateizugriff per php, http://www.php.de/php-einsteiger/53400-dateizugriff-sperren.html, .htaccess dateizugriff, htaccess dateizugriff verbieten, php zugriff sperren, php dateien sperren, htaccess zugriff auf datei sperren, php datei zugriff, htaccess datei zugriff, htaccess direkter dateizugriff, datei sperren php

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum