php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
passwortschutz


 
sepp
23-03-2009, 13:32 
 
Hallo zusammen

Ich habe einen Passwort geschützen Bereich programmiert, dort kann man Benutzerdifinierte Texte und Dokumente ansehen.

Mein Problem ist; wenn man die direkte Url der eingebundenen Dokumente anwählt sind diese nicht Passwortgeschützt. Wie kann ich die Dokumente zusätzlich schützen?

Weiss wer einen Rat?

 
TobiaZ
23-03-2009, 13:54 
 
Such einfach mal Passwortschutz.
Du musst natürlich JEDES Dokument schützen.

 
asp2php
23-03-2009, 13:54 
 
Wie hast du geschützt? z.B. mit einem Eintrag im .htaccess kannst du den Ordner komplett schützen. Aber was solldenn das werden, wenn die URL im Dokumenten selbst nicht erreichbar bzw. nicht zugreifbar gemacht werden soll, wozu hast du sie noch drin :goth:

Ich verschiebe den Thread erst mal zu OT.

 
sepp
23-03-2009, 13:57 
 
Warum verschiebst Du mich?

Die Dokumente sollten nur von denjedigen Personen eingesehen werden, welche sich im Logintool via php-MySql und Session angemeldet haben!

 
TobiaZ
23-03-2009, 13:59 
 
Vermutlich weil du keinerlei Hintegrundinformationen lieferst und man dir somit nicht ansatzweise konkret helfen kann. Außer man rattert nochmal sämtliche Grundlagen zum Thema runter, aber die sind wie gesagt bereits im Forum vorhanden.

 
asp2php
23-03-2009, 14:21 
 
Original geschrieben von sepp
Warum verschiebst Du mich?

Weil es nicht ersichtlich ist, wie konkret dein Problem ist. Ob man mit Programmierung oder Webservereinstellung bzw. -restriktion lösen kann.

Die Dokumente sollten nur von denjedigen Personen eingesehen werden, welche sich im Logintool via php-MySql und Session angemeldet haben!

Dann die Dokumente einfach außerhalb des Webroot verlegen und sie z.B. nur per Serverscript anzeigen - auch die Links im Dokument - dabei kannst du prüfen, ob der Leser Zugriffsrecht besitzt. Das Thema ist uralt und sollte per Forumsuche geholfen werden, falls du mit PHP arbeitest.

 
sepp
28-05-2009, 16:04 
 
Also ich versuche es nochmal zu erläutern.

Ich habe eine Website bei welcher sich man anmelden kann. Diese Daten werde in einer MySQL DB gespeichert.

Auf der Seite habe ich ein Admininterface (cms) programmiert auf welchem ich den einzelnen Usern individuelle Seiten ertellen kann. Um auch pro User individuell ein pdf zu Verfühgung zu stellen, welches er und nur er ansehen kann.

Das pdf rufe ich über ein php scrip ab, bei welchem ich die User-ID und PDF-ID mitgebe, dort wird geprüft ob der User für das Dok die nötigen Rechte hat; dann wird es ausgegeben - oder auch nicht! (Je nach Recht)

Das funktioniert alles einwandfrei!

Nun möchte ich aber verhindern, dass man das PDF DOK direkt (über die Url) aufrufen kann!

Die Idee ist nun;
Problem 1:...das einzelne File (pdf) mit .htacces mit den bestehenden Passwort und Benutzername aus der DB des Users zu schützen.

Problem 2:...das Passwort via dem php-Script vor dem öffnen des pdf nach .htaccess automatisch weiterzugeben.

Ich hoffe nun sind meine Informationen ausführlicher und genügend für Hilfe.

 
asp2php
28-05-2009, 16:13 
 
Nun möchte ich aber verhindern, dass man das PDF DOK direkt (über die Url) aufrufen kann!Die Lösung habe ich bereits gepostet!


Dann die Dokumente einfach außerhalb des Webroot verlegen und sie z.B. nur per Serverscript anzeigen - auch die Links im Dokument - dabei kannst du prüfen, ob der Leser Zugriffsrecht besitzt. Das Thema ist uralt und sollte per Forumsuche geholfen werden, falls du mit PHP arbeitest.

oder die Dokument in einem Ordner ablegen, darin ein .htaccess mit

order deny,allow
deny from all

Das war's.

 
sepp
28-05-2009, 16:37 
 
Nein in einen Ordner kann der für alle gesperrt ist macht keinen Sinn! Wie soll ich denn den User die einzelnen Doks zuweisen?

Leider habe ich keinen Zugriff auf die Webroot. Und ein Serverscript kann ich auch nicht laufen lassen.......oder ist damit einfach ein php Script gemeint?

 
asp2php
28-05-2009, 16:48 
 
Nein in einen Ordner kann der für alle gesperrt ist macht keinen Sinn! Wie soll ich denn den User die einzelnen Doks zuweisen?


und warum nicht? woher weisst du bisher, welche Dokus zu wem gehört? Normalerweise hat man dafür DB-Einträge die z.B.:

- doku_id
- user_id
- doku_name
- doku_pfad

enthalten und somit weiss man immer was was ist. PHP kann ohne weiteres auf per .htaccess geschützte Verzeichnisse zugreifen. und damit kannst du die Dokumente auch liefern, nachdem du überprüft hast, ob der User Berechtigung hat.



Leider habe ich keinen Zugriff auf die Webroot. Und ein Serverscript kann ich auch nicht laufen lassen.......oder ist damit einfach ein php Script gemeint?

Ja, PHP ist gemeint.

 
sepp
28-05-2009, 17:57 
 
- doku_id
- user_id
- doku_name
- doku_pfad

Ja, die habe ich alle in einer DB!

Wenn ich Dich richtig verstehe kann ich via php auf des mit
order deny,allow
deny from all
zugreifen? Wie mache ich denn das?

Supi, ich habe nun zugriff auf das Webroot, habe den Ordner nun dort platziert und alles scheint so zu funktionieren.
Wie sicher ist diese Methode?

 
asp2php
28-05-2009, 17:59 
 
ziemlich sicher.

 
sepp
28-05-2009, 18:10 
 
Was heisst ziehmich? Müsste schon eine felsenfeste Version machen!

Wäre die Variante mit .htaccess sicherer?

Und wie kann ich denn auf das Verzeichnis zugreifen wenn es mit .htaccess geschützt ist, via php -> gibt es da ein bestimmtes Vorgehen oder einen Befehl um das die Passworte und Benutzer an .htaccess zu senden?

 
asp2php
28-05-2009, 18:13 
 
Es gibt keine 100%ige Sicherheit, daher meine Aussage. Du kannst schützen was du willst, aber wenn der Server geknackt ist, tja, ... im Internet kann viel passieren, auch Server knacken ;)

 
sepp
28-05-2009, 18:19 
 
Also kann man die Variante mit dem Root-Verzeichnis "nur" mittels Server knacken?

Also nur kurz zu meiner Beruhigung;
Ich habe nun im Verzeichnis html eine Unterodner erstellt und dort den Auftritt hineine gepackt. Auf dem Webserver habe ich die Domain direkt mit dem neuen Ordner verknüpft! Also ist dann die Root der neue Ordner, somit habe ich auf der gleichen Ebene wie der Webordner den Foleupload Ordner und dieser kann nicht direkt angesprochen werden.

Würde mich dennoch interessieren wie ich das Passwort via php an .htaccess weitergeben kann, bzw. prüfen kann?

 
wahsaga
28-05-2009, 18:55 
 
Würde mich dennoch interessieren wie ich das Passwort via php an .htaccess weitergeben kann, bzw. prüfen kann?
Wozu denn? Das ist absolut nicht nötig.

 
TobiaZ
28-05-2009, 18:56 
 
Also kann man die Variante mit dem Root-Verzeichnis "nur" mittels Server knacken?Falsche Formulierung, wurde auch so nie behauptet. Informier dich mal grundlegend über das Thema Sicherheit, dann stellst du deine Fragen vielleicht nicht ganz so falsch. ;)

somit habe ich auf der gleichen Ebene wie der Webordner den Foleupload Ordner und dieser kann nicht direkt angesprochen werden. Ausgenommen du verlinkst diesen Ordner z.B. mit einer Subdomain oder einer anderen Domain. Wie gesagt, eine 100%ige Sicherheit gibt es nie.

Würde mich dennoch interessieren wie ich das Passwort via php an .htaccess weitergeben kann, bzw. prüfen kann? Kannst du genauer erklären, was du willst? Warum sollte man ein Passwort an .httaccess (das ist eine Datei!) weitergeben wollen?


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