Zum Inhalt springen

Dateien schützen


Empfohlene Beiträge

Hallo,

ich habe vor einen Mitgliederbereich zu erstellen, wo die eingeloggten Member Zugriff auf Dateien haben die für andere vorenthalten sind. Nur wie mach ich das?

Es soll nicht über htaccess laufen, denn die Member sollen sich über die Startseite einloggen können und dann Zugriff haben.

Wie kann ich sowas realisieren?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es soll nicht über htaccess laufen, denn die Member sollen sich über die Startseite einloggen können und dann Zugriff haben.

Wie kann ich sowas realisieren?

Indem es doch über .htaccess läuft ;)

Du verbietest per .htaccess den Zugriff für alle Adressen außer 127.0.0.1, also localhost. Die Dateien selber listest du dann per php auf und lieferst sie mit einem php-Skript aus.

Beispiel:


#download.php
<?php
# Prüfen ob skript von eingeloggtem Benutzer aufgerufen wurde
session_start();
if (isset($_SESSION["user_id"])
{
if (isset($_GET["File"])
{
$filename = basename($_GET["file"]);
# u.U. richtigen MIME-Type ermitteln
header("Content-Type: application/octet-stream");
header('Content-disposition: attachment; filename="$filename"');
# Datei lesen und ausgeben
read($_GET["file"]);
}
}
else
echo "<h1>Bitte einloggen!</h1>!";
[/php]

Das ist natürlich nur ein Beispiel und sollte u.U. noch sicherheitstechnisch überdacht werden.

EDIT:

Oder einfacher (und ohne .htaccess):

du legst die Dateien einfach außerhalb deinen Webpfades ab. Dann hat über das Internet eh keiner Zugriff. Das Skript oben geht aber.

Link zu diesem Kommentar
Auf anderen Seiten teilen

HTTP-Authentifizierung mit PHP zeigt ganz schön, wie mittels setzen der header

Header("WWW-Authenticate: Basic realm=\"My Realm\"");

Header("HTTP/1.0 401 Unauthorized");

den usern zugriff verweigern kannst, ohne das mittels htaccess-sondern direkt in php steuerbar zu machen. das wäre dann auch auf ein nicht-linux-system portabel, falls erforderlich.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

den usern zugriff verweigern kannst, ohne das mittels htaccess-sondern direkt in php steuerbar zu machen.

Mit dem angegebenen Beispiel sendet er nur eine Authentifizierungsaufforderung an den Client, der Browser macht daraufhin den Benutzername, Password-Dialog auf. Wenn auf eine Datei aber ohne die php-Datei zugegriffen wird, kommt keine solche Anmeldung. Und außerdem wollte er den Weg mit dem Anmeldedialog ja nicht gehen.

Man kann per php den 401 Code senden (genau wie jeden anderen), aber das fordert den Browser ja nur auf, ein Passwort zu erfragen. Dieses PW speichert der Browser dann zwischen und sendet es mit jeder Anfrage an den Server (wenn der Realm stimmt), bis wieder ein 401 kommt (daraufhin löscht er Name und PW für den entspr. Realm und frägt nach einem neuen). Es ist aber nicht möglich dem Browser einen Namen + PW unterzuschieben. Also eine .htaccess Datei mit Authentifizierung und dann per php einen Benutzer + PW setzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...