| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

31-03-2011, 16:27
|
|
sepp
Registrierter Benutzer
|
|
Registriert seit: Aug 2007
Beiträge: 213
|
|
Verzeichnis mit php session schützen
Hallo zusammen
Wie kann man ein Verzeichnis mittels php schützen?
Geht das nur mit .htaccess?
Und wenn ich es mit .htaccess mache:
- Habe bereits eine PHP Login Session am laufen wie kann ich diese mit .htaccess kombinieren.
Das Ziel ist es den eingeloggten User den Ordner freizugeben.
Kann mir da jemand einen Tip geben? Danke
|

31-03-2011, 16:30
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Per .htaccess verhinderst du nur den direkten Zugriff per HTTP - um den Rest muss sich dann dein Script selber kümmern.
Das ist ein schon vielfach diskutiertes Thema - bitte erst mal suchen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

31-03-2011, 16:31
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.308
|
|
Wie das mit .htaccess geht, findet du z.B. hier. Ansonsten gibt es noch $_SERVER['HTTP_AUTH_USER'] und $_SERVER['HTTP_AUTH_PW']. Da du das aber schon in der Session hast, würde ich in dem Ordner mit einer PHP-Datei arbeiten, die dann einen 401 wirft.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

31-03-2011, 17:08
|
|
sepp
Registrierter Benutzer
|
|
Registriert seit: Aug 2007
Beiträge: 213
|
|
Danke erstmal,
stehe noch immer auf dem Schlauch, gibt es also eine reine php lösung ohne htaccess?
Ich suche noch nach der Lösung mit index.php.....
Aber wenn ich mit der php-Datei arbeite ist dann auch jede Datei im Verzeichnis sicher oder nur der Zugriff auf den ordner?
Geändert von sepp (31-03-2011 um 17:17 Uhr)
|

31-03-2011, 17:17
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von sepp
gibt es also eine reine php lösung ohne htaccess?
Ich suche noch nach der Lösung mit index.php.....
|
Die gibt es nicht. Du kannst zwar die index.php alleine schützen, indem du die Servervariablen abfragst und damit selbst eine Authentifizierung strickst, aber alle anderen Dateien in diesem Verzeichnis sind ungeschützt. Du kannst zwar auch per mod_rewrite alles über diese index.php tunneln, aber dann brauchst du wieder eine .htaccess. Ohne geht es also nicht.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

31-03-2011, 17:17
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.308
|
|
Alos wenn du nur ein Verzechnis schützen willst, dass man sonst komplett einsehen kann (imho ein Sicherheitsloch), dann geht das nur über .htaccess. Ansonsten hast du in dem Verzeichnis eine PHP-Datei, die die Login-Session prüft. Wenn die fehlt, sendest du einen 401-Header und beendest das Script. Ansonsten listet die PHP-Datei dann den Ordnerinhalt auf. Den musst du dann per pile_get_contents ausgeben. Dafür solltest du dann mit mod_rewrite arbeiten.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

31-03-2011, 17:25
|
|
sepp
Registrierter Benutzer
|
|
Registriert seit: Aug 2007
Beiträge: 213
|
|
O.K. also mit .htaccess!
Ein einfaches .htaccess um das Verezeichnis zu schützen kenne ich, dort ist ein Benutzername angegebe und im seperaten file .htpasswd das verschlüsselte Passwort.
Wie kann ich es aber jetzt so umschreiben das wenn die Session die selbe ist wie jene in der DB Userlogin der Zugriff erlaubt ist?
|

31-03-2011, 17:31
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von sepp
Wie kann ich es aber jetzt so umschreiben das wenn die Session die selbe ist wie jene in der DB Userlogin der Zugriff erlaubt ist?
|
Das Ausliefern der Daten machst du über das Script selber - das prüft, ob der Benutzer die Datei lesen darf, und dann schickst du sie ihm per readfile & Co.
Einen „Passwortschutz“ per .htaccess braucht es dazu nicht, Zugriffe auf die Dateien per HTTP generell zu verbieten, reicht aus.
Noch mal: Das ist ein bereits zahlreich diskutiertes Thema, informiere dich bitte!
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

31-03-2011, 17:39
|
|
sepp
Registrierter Benutzer
|
|
Registriert seit: Aug 2007
Beiträge: 213
|
|
Zitat:
|
Zugriffe auf die Dateien per HTTP generell zu verbieten, reicht aus.
|
Meinst du damit das ich die Rechte der einzelnen Dateien auf cmod 600 setzten soll?
Und beim Zugriff jeweils die rechte temorär auf 644 setzten soll?
|

31-03-2011, 17:41
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von sepp
Meinst du damit das ich die Rechte der einzelnen Dateien auf cmod 600 setzten soll?
|
Nein, per .htaccess mit Allow/Deny & Co. arbeiten.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

31-03-2011, 17:41
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Nein, du sollst den Zugriff per htaccess verbieten und zwar auf alles außer der index.php. Wenn du die Dateien auf 600 setzt, kann es sein, dass nicht mal mehr PHP darauf zugreifen kann.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

31-03-2011, 17:43
|
|
sepp
Registrierter Benutzer
|
|
Registriert seit: Aug 2007
Beiträge: 213
|
|
Zitat:
|
Nein, du sollst den Zugriff per htaccess verbieten und zwar auf alles außer der index.php.
|
Ah, langsam dämmert es, also kann ich auf die index.php zugreifen und dort die Rechte bzw. die session prüfen und dann ....... sind doch die daten im Ordner noch immer für den Zugriff per htaccess gesperrt oder ?
|

31-03-2011, 17:46
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von sepp
sind doch die daten im Ordner noch immer für den Zugriff per htaccess gesperrt oder ?
|
Sind sie, aber nur für den Zugriff über den Webserver, nicht für den Zugriff vom lokalen Dateisystem aus, so wie PHP es machen würde.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

31-03-2011, 17:57
|
|
sepp
Registrierter Benutzer
|
|
Registriert seit: Aug 2007
Beiträge: 213
|
|
O.K. das versuche ich umzusetzen - stellt sich nur noch die Frage wie ich die indexdatei vom Zugriffausschluss ausnehme.
Sprich im htaccess ist ja folgendes eingetragen
AuthUserFile /var/www/web/html/file/.htpasswd
Somit sind aber ausnahmslos alle Dateien vom Zugriff verhindert.
|

31-03-2011, 17:59
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
SELFHTML: Webserver/CGI / Webserver / .htaccess - Server-Reaktionen kontrollieren
Jetzt ist aber gut. Dir wurde mehrmals gesagt, dass du dich selbst informieren sollst, weil das 08/15-Standard-Lösungen sind, die man überall nachlesen kann, sogar bei Selfhtml.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|