php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen
Alt 10.02.2012, 20:19  
Benutzer
 
Registriert seit: 13.12.2005
Beiträge: 65
buggybugga
Standard Dateizugriffe nur per PHP-Skript erlauben (durch .htaccess und MySQL-UserDB)

Hallo Verehrte,

nachdem ich nun doch mal auf eine Problematik gestoßen bin, die mir weder durch Google noch durch Forensuche beantwortet werden konnte, habe ich mich dazu entschlossen doch mal dieses Forum hier zu benutzen (auch wenn ich Gefahr laufe, einen Thread eröffnet zu haben, der bereits existiert, ich ihn aber nur nicht gefunden habe).

Es geht um Folgendes:
Ich programmiere gerade eine Webseite, auf der unter anderem auch Bilder hochgeladen werden können, die aber nur von den registrierten Benutzern betrachtet werden dürfen (sofern in der Datenbank nicht angegeben ist, dass das Bild auch öffentlich zugänglich gemacht werden soll).

Die Informationen aus der Datenbank abzuschotten ist kein Problem (sicherer geht es immer, jepp), aber ich bekomme es nicht hin, dass ich die Bilddateien, die als Dateien auf dem Webserver liegen, nur für die PHP-Skripte zugänglich gemacht werden.

Probiert habe ich folgendes (was ich soweit auch im Netz als Ideen gefunden habe): .htaccess erstellt und anhand allow from [IP-Adresse] bzw. [localhost] versucht den Zugriff zu beschränken. Außerdem habe ich auch nachgesehen, was es mit den FTP-Zugriffsrechten auf sich hat. Nichts gebracht...entweder die Bilder waren frei zugänglich oder für alle gesperrt (also auch für die PHP-Skripte).

Überlegt habe ich mir, dass man die Bilddateien mit einer "Fantasie-Dateiendung" hochladen könnte, bspw. bild.bild, und auf den entsprechenden Ordner den Zugriff auf Dateien ala *.bild sperrt. Nun im PHP-Skript die Bilddateien lädt und im Browser als bild.png ausgibt. Aber da stehe ich wieder vor dem Problem: Wie soll das gehen, wenn ich entsprechend dieser Idee keinen Zugriff auf die *.bild-Dateien bekomme.

Also...hier nochmal konkret aufgeführt:
- Bilder sind in der MySQL-DB hinterlegt (id,date,publicaccess[ja/nein])
- Wenn publicaccess == 0 (bzw. nein), dann sollen die Bilder gesperrt sein für den direkten Zugriff über die Adresszeile (bspw. domain.de/bilder/bild.png) - denkbar wäre für mich hierbei auch, einfach zwei Ordner anzulegen, einen für den geschlossenen und einen für den öffentlichen Bereich (je nach Integer im Feld publicaccess werden die Bilder also hin und her verschoben)
- die Bilder sollen aber, sofern sie von einem PHP-Skript aufgerufen werden, innerhalb dieses Skriptes eingebunden werden (die Prüfung der gestatteten bzw. nicht gestatteten Einbindung würde das PHP-Skript übernehmen)

Alternative wäre, wie gesagt, die Bilder als eine Nicht-Bild-Datei-Endungs-Datei abzulegen und über das PHP-Skript temporär (also während des Aufrufs) im Skript als *.png Datei zu generieren...

Ich bin gespannt, was folgt...schoin Gruß
__________________
http://www.schwarzerton.de.
buggybugga ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.02.2012, 20:36  
Benutzer
 
Registriert seit: 13.12.2005
Beiträge: 65
buggybugga
Standard

Oder um es einfach zu machen: Wie kann ich grundsätzlich den Aufruf von Bilddateien oder anderen nur über ein PHP-Skript gestattet (losgelöst von der Realisierung und Konzeption des MySQL-gestützem Rechtesystems)...?
__________________
http://www.schwarzerton.de.
buggybugga ist offline   Mit Zitat antworten
Alt 11.02.2012, 01:31  
Erfahrener Benutzer
 
Registriert seit: 26.07.2010
Beiträge: 10.958
PHP-Kenntnisse:
Fortgeschritten
tr0y genießt hohes Ansehentr0y genießt hohes Ansehentr0y genießt hohes Ansehentr0y genießt hohes Ansehentr0y genießt hohes Ansehentr0y genießt hohes Ansehentr0y genießt hohes Ansehentr0y genießt hohes Ansehentr0y genießt hohes Ansehentr0y genießt hohes Ansehentr0y genießt hohes Ansehen
Standard

Bilddaten außerhalb des Docroots halten oder ein verzeichniss web-technisch per Deny from all verriegeln.
Die Bilder selbst dann per PHP-Script "Streamen", man kann sich da eine rewrite-rule bauen, die es erlaubt ( whitelisted ) images entsprechend auszugeben.

Bedenke dabei das du
a) MIME-Header zum Content-Type vorher senden musst, die zum Bild passen.
b) Das Bild memory-gerecht streamen und nicht einfach per file_put_contents an den browser "patscht".

fopen, fread / fgets

- http://www.webmaster-toolkit.com/mime-types.shtml
- http://www.webmaster-toolkit.com/mod...enerator.shtml
tr0y ist offline   Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] PHP Skript um in mySQL Datenbank was einzutagen. basti2485 PHP Tipps 2009 2 02.11.2009 00:34
MySQL Passwort im Skript sichtbar? Studerius_Ivius PHP Tipps 2009 4 16.08.2009 19:16
MySQL Konsole und Umlaute unter Windows [LÖSUNG] f4ckm5 Datenbanken 8 30.03.2009 22:10
PHP SKRIPT bei STRATO MySQL einbauen - nudek Datenbanken 7 08.01.2009 20:10
Lerne Grundlagen | Quellensammlung cycap PHP Einsteiger 0 12.11.2008 16:23
.htaccess via PHP und MySQL wind-kun PHP Tipps 2008 3 04.10.2008 20:16
MySQL DB mit PHP Skript befüllen ?! Benny199 PHP Tipps 2008 61 17.08.2008 20:13
[Erledigt] Gästebuch skript ohne mysql do it yourself gandalf PHP Tipps 2008 15 11.07.2008 21:52
[Erledigt] PHP | MySQL - Log - Skript Ind3X PHP Tipps 2008 27 19.06.2008 11:13
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Sichere Vebindung mit MySQL & .htaccess erstellen + Vars PHP Tipps 2005 8 17.03.2005 16:56
.htaccess mit mySQL und PHP Soese PHP Tipps 2005 7 23.02.2005 23:09
[Erledigt] problem mit login skript | mysql | cookie PHP Tipps 2004-2 13 07.12.2004 19:01
.htaccess Schutz mit MYSQL User DB abgleichen... PHP Tipps 2004 0 28.09.2004 13:14

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
.htaccess direkter dateizugriff, script zugriff per php oder htaccess, dateizugriff per php erlauben, htaccess passwort aber datenzugriff erlauben, zugriff auf bild über php erlauben, htaccess zugriff auf bestimmte datei erlauben, passwort htaccess php zugriff erlauben, htaccess php darf zugriff erlauben, php zugriff auf ordnerinhalt nur über script, htaccess zugriff für php erlauben, .htaccess php dateien erlauben, php direkten zugriff auf bilder verhindern, htaccess über php zugriff erlauben, zugriff auf javascript nur von domain zulassen, htaccess zugriff datei erlauben, htaccess datei nur per php, php gästebuch ohne mysql htaccess, dateizugriff nur per php erlauben, php zugriff nur vom script, .htaccess bilder nur php skript

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




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