#1 31. Mai 2011 Moinsen, ich entwickle gerade eine Website mit dem Kohana 3 Framework. Dieses liefert standartmäßig eine .htaccess Datei mit um die URL per mod_rewrite anzupassen: Code: # Turn on URL rewriting RewriteEngine On # Installation directory RewriteBase /dir/ # Protect hidden files from being viewed <Files .*> Order Deny,Allow Deny From All </Files> # Protect application and system files from being viewed RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L] # Allow any files or directories that exist to be displayed directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Rewrite all other URLs to index.php/URL RewriteRule .* index.php/$0 [PT] Die Datei liegt in http://www.website/dir/ Jetzt habe ich eine Route http://www.website/dir/admin erstellt, welche (wie der Name schon vermuten lässt) Passwortgeschüzt werden soll. Hab irgendwie nichts brauchbares für Verzeichnissschutz in verbindung mit mod_rewrite gefunden. Hat jemand eine Idee? LG encud + Multi-Zitat Zitieren
#2 31. Mai 2011 Zuletzt von einem Moderator bearbeitet: 15. April 2017 AW: .htaccess verzeichniss schutz mit mod_rewrite guck mal [tutorial] per .htaccess verzeichnis schützen (für linux und windows) - RR:Board + Multi-Zitat Zitieren
#3 31. Mai 2011 Zuletzt von einem Moderator bearbeitet: 15. April 2017 AW: .htaccess verzeichniss schutz mit mod_rewrite ich hab das script aus folgendem grund nicht ausprobiert: Das Verzeichniss /dir/admin existiert nicht. ich habe lediglich /dir/application/classes/controller/admin.php und genau das ist eigentlich mein Problem, ich weiß nicht genau wo ich die dateien ablegen soll, sodass auch wirklich nur /dir/admin vom passwortschutz betroffen ist. ansonsten find ich das script aber ganz nützlich + Multi-Zitat Zitieren
#4 31. Mai 2011 AW: .htaccess verzeichniss schutz mit mod_rewrite PHP: HTTP-Authentifizierung mit PHP - Manual + Multi-Zitat Zitieren
#5 1. Juni 2011 AW: .htaccess verzeichniss schutz mit mod_rewrite Du kannst die ganzen Auth* Anweisungen in eine Kontext-Direktive wie <Location> oder <Directory>+<Files> packen, um die Anweisungen auf eine URL oder eine Datei zu beschränken. + Multi-Zitat Zitieren
#6 1. Juni 2011 AW: .htaccess verzeichniss schutz mit mod_rewrite Nur um auf Nummer sicher zu gehen, wenn ich dieses Beispiel nehme muss ich doch noch eine Abfrage mit rein bringen um zu gucken ob es den User auch wirklich gibt, oder? z.B. so: PHP: <? php if (!isset( $_SERVER [ 'PHP_AUTH_USER' ])) { header ( 'WWW-Authenticate: Basic realm="My Realm"' ); header ( 'HTTP/1.0 401 Unauthorized' ); echo 'Text, der gesendet wird, falls der Benutzer auf Abbrechen drückt' ; exit; } elseif( $_SERVER [ 'PHP_AUTH_USER' ] == 'admin' && $_SERVER [ 'PHP_AUTH_PW' ] == 'pwd' ) { echo "<p>Eingeloggt als { $_SERVER [ 'PHP_AUTH_USER' ]} </p>" ; } ?> Habe in meiner .htaccess-Datei folgendes angefügt: Code: <Directory /dir/admin/> AuthType Basic AuthName "Administration Panel" AuthUserFile C:/xampp/htdocs/dir/.htpasswd01 require valid-user </Directory> dann kommt Error 500. Ohne Code: <Directory /dir/admin/> funktioniert es. Anstatt Directory Location zu benutzen bringt auch nichts. Magste mir sagen was ich falsch mache? + Multi-Zitat Zitieren
#7 2. Juni 2011 AW: .htaccess verzeichniss schutz mit mod_rewrite Hm, ich hatte einen kleinen Denkfehler. Da die Datei nicht direkt aufgerufen wird, fallen die Varianten mit "Directory" oder "Files" weg. Bleibt nur noch Location. Location ist aber nur in der Server- oder VHostkonfiguration erlaubt, nicht in der .htaccess! + Multi-Zitat Zitieren
#8 2. Juni 2011 AW: .htaccess verzeichniss schutz mit mod_rewrite ich dachte ich müsste dir den code dafür nicht vorkauen, aber gut PHP: <? php if (empty( $_SERVER [ 'PHP_AUTH_USER' ])) exit401 (); session_name ( 'staffsid' ); session_start (); if (!isset( $_SESSION [ 'staff-member' ])) { $user = $_SERVER [ 'PHP_AUTH_USER' ]; $pass = $_SERVER [ 'PHP_AUTH_PW' ]; // hier prüfen ob der benutzer existiert ... if (! checkUser ( $user , $pass )) exit401 (); $_SESSION [ 'staff-member' ] = $user ;} else $user = $_SESSION [ 'staff-member' ]; // benutzer existiert print "hallo $user :-)" ; // ----------------------------- function checkUser ( $user , $pass ) { // diese daten kannst du dir aus ner db oder sonstwo ziehen static $valid = array( 'hans' => 'geheim' ); return (isset( $valid [ $user ]) && $valid [ $user ] === $pass );} function exit401 () { header ( 'WWW-Authenticate: Basic realm="Staff"' ); header ( 'HTTP/1.1 401 Unauthorized' ); exit( 'permission denied' );} + Multi-Zitat Zitieren
#9 3. Juni 2011 AW: .htaccess verzeichniss schutz mit mod_rewrite dank dir! Ist ja im Prinzip das was ich gesagt/ gedacht habe, nur eben mit einer Session + Multi-Zitat Zitieren