Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

htaccess - Verzeichnis freigeben

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

hoffe das Thema ist in der richtigen Kategorie...

ich habe eine index.php mit einem HTML-Formular. Dort gibt man in zwei Input-Felder seinen Benutzer und sein Passwort ein und anschließend, nach klicken eines Submit-Buttons, soll ein ganzes Verzeichnis freigegeben werden.

In diesem Verzeichnis liegen z.T. auch PDFs.

Nun denk ich kommt .htaccess ins Spiel.

Es soll kein Fenster mit ner Passwortabfrage aufgehen.

Ich möchte in der index.php nach erfolgreicher Anmeldung einfach nur Zugriff auf das ganze Verzeichnis haben.

Ich bastel auch die ganze Zeit schon mit Environmentvariablen rum, aber das klappt nicht so richtig.

Kann mir da bitte einer weiterhelfen??!!!??

Weiß einer was ich in die .htaccess schreiben muss???

Können auch gern andere brauchbare Lösungen sein.

Viele Grüße...

Sir Barry :marine

kleine frage wieso zusätzlich htacces ??? du hast doch php dann kannst du dir eine richtig schöne benutzerverwalrung mit bastelln. Allso ich hab das mal mit asp gemacht für nen internen bereich funtzt wunderbar einziges prob is bei mir das alles in ner datenbank liegt und deswegen recht unsicher is da ich zu faul war benutzernamen und kennwort auf die db zu machen aber das is eigentlich auch kein prob. Denn wenn jemand sich die asp seite zieht sollte er eigentlich nur den html code drin stehen haben mußt du halt mal testen.

Original geschrieben von U[[ °LoneWolf°

Denn wenn jemand sich die asp seite zieht sollte er eigentlich nur den html code drin stehen haben mußt du halt mal testen.

Sollte... und wenn mit dem Interpreter was nicht stimmt? In PHP mach ich das über Includes. Irgendwo ausserhalb des öffentlichen Web-Bereichs (z.B. im Apache/conf - Verzeichniss) liegt eine Datei, die Einstellungen u.a. enthält .

In der PHP-Datei wird die per

Include Dateiname

Das hat den Vorteil, das der Inhalt der Datei nur dann im Dokument ist, wenn es vom PHP-Interpreter verarbeitet wird. Falls aus irgendeinem Grund jemand an die php Datei kommt, bringt es ihm überhaupt nix.

Aber egal, back to Topic:

Du könntest es mit einem per .htaccess geschützten Verzeichniss probieren, und dann in deiner PHP Seite die Variablen

$_SERVER['PHP_AUTH_USER']

$_SERVER['PHP_AUTH_PW']

von Hand füllen.

Bin mir jetzt nicht sicher ob das geht, aber umgekehrt, also nach der Anmeldung, sind die dann gefüllt. vielleicht geht es ja...

Verschoben in die Webserverprogrammierung

Mit PHP allein eine Benutzerverwaltung hilft mir doch nix, weil in diesem Verzeichnis ja auch PDF-Dateien liegen können. In diese kann ich keinen PHP-Quelltext schreiben.

JesterDay: Das mit den Server-Variablen hab ich auch grad versucht, das Popup geht trotzdem auf und muss wieder User und Passwort angeben. Wie kann man das Popup unterdrücken? Das geht irgendwie.

Was ich noch zu den Environment-Variablen rausgefunden hab... die sind nur auf der Seite gültig auf der ich sie erstellt hab. Die lassen sich irgendwie nicht mit auf eine neue Seite übergeben. Vielleicht hab ich da auch nur einen Denkfehler!?

Anschließend, wenn die Env.-Variable gesetzt ist, frage ich über htaccess ab ob die Env.-Variable "test" tatsächlich gesetzt wurde:

Order Deny,Allow

Deny from all

Allow from env=test

SirBarry :confused:

Original geschrieben von SirBarry

das Popup geht trotzdem auf und muss wieder User und Passwort angeben. Wie kann man das Popup unterdrücken? Das geht irgendwie.

Es geht, indem du beispielsweise mit einer HEADER Anweisung auf die Seite umleitest und dabei Name und Passwort übergibst. Das ist dann allerdings im Klartext...


header("Location: h_ttp://USER:Password@w_ww.example.com/");
exit;
[/php]

ob das aber das ist was du willst...

EDIT:

h_ttp und w_ww oben, weil es das sonst immer in einen Link umwandeln will:rolleyes:

Nene, das is auch nicht ganz das was ich such, das funktioniert so auch gar nicht.

Das PopUp kommt trotzdem. Außderdem isses nie gut wenn User und Passwort so offen da stehen.

Ich hab da noch ne simple Idee, ich sag der .htaccess dass nur User die von der index.php kommen in das Verzeichnis rein dürfen. Das macht man doch mit "allow from..." oder?

Weiß da einer die genaue Syntax???

SirBarry

Servus SirBarry!!

das geht AFAIK mit Allow from <bla>

Erklärt ist das <bla> hier:

http://httpd.apache.org/docs-2.1/mod/mod_authz_host.html#allow

Schau am Besten dem Abschnitt mit den environment variables an, dort sollte das sein, was Du willst.

HTH,

Peter

Original geschrieben von SirBarry

Nene, das is auch nicht ganz das was ich such, das funktioniert so auch gar nicht.

Das PopUp kommt trotzdem.

Der PopUp sollte eigentlich nicht kommen, sowas in der Art hab ich schon probiert... das funktioniert.

Username:Passwort@www.Seite.de ist eine Möglichkeit eine passwortgeschützte Seite zu betreten.

Vielleicht jetzt keine Lösung für dein Problem, aber sowas funktioniert.

So,

hab mein Problem nun über htaccess mit Environment-Variablen gelöst.

Sobald sich einer korrekt anmeldet wird so eine Variable gesetzt und somit kommt der User dann in das Verzeichnis.

Die Authentifizierung selbst erfolgt über ne ganz normale MySQL-Abfrage.

Wie sicher das ist, kann ich nicht genau sagen, sollte aber ausreichen.

Vorallem auch wenns einer schafft so ne Variable zu setzen bringts ihm nix, weil

auch noch angefragt wird von welcher Seite er kommt.

User-Daten werden nun auch keine übermittelt. Weiterleitung zur nächsten Seite erfolgt über den Header-Befehl in PHP.

Vielen Dank Euch zusammen für Eure schnellen Hilfen.

Viele Grüße...

SirBarry :marine

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.