HTACCESS und Lighty

Twins

New Member
Hi,

ich benutze auf meinen System (Debian 3.1) Lighttpd und dort werden die HTACCESS-Dateien ignoriert.
Es ist für mich wichtig, dass HTACCESS-Dateien ausgeführt werden.

Also habe ich bei Goggle was gesucht und dabei diesen Link gefunden:
Re: htaccess unter lighttpd from Alexander Steinbrecher on 2007-05-09 (Oldenburger GNU/Linux-Stammtisch)

Dort wird erklärt, wie man HTACCESS unter Lighty aktivieren kann und ich habe alles so gemacht und danach den Webserver neugestartet.

Trotzdem werden doe HTACCESS komplett ignoriert (wie vorher).
Wieso und was habe ich falsch gemacht?
Danke für eure Antworten.

Viele Grüße,
Twins
 
HTACCESS-Dateien
Ist dir klar das man bei Lighty jede Passwort Datei einzeln und mit Pfadangabe in die Konfiguration eintragen muß? Lighty kann im Gegensatz zu Apache nicht automatisch im aktuellen Verzeichnis und den übergeordneten Verzeichnissen nach einer entsprechenden Datei suchen.
Wie sieht den deine Datei aus? Der von dir gewählte Name deutet nämlich auf ein Mißverständniss hin, IMHO ist die Datei bei Lighty eher mit dem vergleichbar was beim Apache Tutorial password.file heißt...
 
Last edited by a moderator:
Naja in dem Tutorial ist doch alles erklärt, wo liegt denn das Problem?
Alternativ kann man auch php htaccess beibringen.
 
Der Lighty kann nur mit den Passwordfiles (.htpasswd) arbeiten und das auch nur nach obigem Tutorial.
.htaccess-Files gehen grundsätzlich nicht.

Du mußt schon die RewriteRules etc. alle per Hand in die lighttpd.conf übernehmen.
 
Also der Ordner untern /var/www/forum/admin/ soll mit einen Passwort geschützt werden.
.htaccess: /var/www/forum/admin/.htaccess (enthält Umleitung auf die .htpasswd)
.htpasswd: /var/www/forum/admin/.htpasswd (verschlüsseltes Passwort mit Benutzername)

In der lighttpd.conf:
Code:
auth.backend               = "htpasswd"


auth.require = ( "/var/www/forum/admin/" =>
                 (
                   "method" => "basic",
                   "realm" => "TSF-Adminpanel",
                   "require" => "valid-user"
                 )
               )

Hat nicht geklappt, also habe ich es mal so versucht:
Code:
auth.backend.plain.userfile = "/etc/lighttpd/lighttpd-htpasswd.user"
Diese Datei hatte den gleichen Inhalt wie die .htpasswd

Nach beiden Änderungen habe ich Lighttpd jeweils neugestartet, wenn ich das admin-Verzeichnis aber aufrufe, bleibt der HTACCESS-Passwortschutz aus.
 
Hier
PHP:
auth.backend    = "htpasswd"
auth.backend.htpasswd.userfile = "/vollerPfadzu/htpasswd.users"
auth.require = ( "/zuschützendesVerzeichniss/" =>
                ( "method" => "basic",
                  "realm" => "Ordnername",
                  "require" => "valid-user"
                )
               )
in die htpasswd.users
PHP:
admin:passwort in md5 oder
username:passwort in md5
 
]MaX[;122065 said:
Danke für den Link, htscanner kannte ich bisher nicht. Aber da geht es um php_value und php_flag Anweisungen (die zugegebenerweise ein Teil einer .htaccess sein können). Auch wenn das hier ein etwas konfuser Thread ist bin ich mir dennoch halbweg sicher das es dem Orginalfragesteller um Authentifizierung geht.
 
Ich habe mir php_htaccess bisher noch nicht genauer angeschaut. Ich wusste nur das es möglich sein soll, ob man es nun brauchen kann oder nicht weis ich, das muß halt jeder für sich entscheiden.
Bisher bin ich eigentlich mit mod_auth immer zurecht gekommen.
 
Habe noch eine Frage:
Code:
auth.require = ( "/zuschützendesVerzeichniss/" =>

Muss ich dort den vollen Pfad eingeben oder nur der ab den docroot?
 
Du mußt den linken Teil vom Pfad der zu schützenden URL angeben, im Normalfall sollte das den Pfad ab dem docroot entsprechen.
 
Also das funktioniert bei mir nicht...

der docroot ist /var/www/ und bei auth.require (lighttpd.conf) habe ich dann forum/admin/ eingegeben.

Der Link weißt auf die /etc/lighttpd/htpasswd.users, wo das verschlüsselte Passwort gespeichert ist, also Beispiel (entspricht nicht der Wahrheit!):
Code:
test:098f6bcd4621d373cade4e832627b4f6

Passwort und Name ist jeweils test... Oder kann es sein, dass der Generator das Passwort falshc umgewandelt hat? Habe über Goggle einen Md5-Generator gefunden und es dort gemacht.

Lighty habe ich nach meinen Änderungen selbstverständlich neugestartet.
 
Nein, leider wird HTACCESS genau wie vorher komplett ignoriert.

Habe das Module mod_auth in der lighttpd.conf geladen (# davor entfernt).

Code:
auth.backend               = "htpasswd"
auth.backend.htpasswd.userfile = "/etc/lighttpd/htpasswd.users"

auth.require = ( "/forum/admin/" =>
                ( "method" => "basic",
                  "realm" => "Admin",
                  "require" => "valid-user"
                )
               )

htpasswd.users
Code:
test:098f6bcd4621d373cade4e832627b4f6

Hm, ich probiere jetzt wirklich mal einen anderen Generator aus.
 
Keep in mind that not all versions of htpasswd default to use Apache's modified MD5 algorithm for passwords, which is required by lighttpd.
htpaaswort gibt bei test:test folgendes:
Code:
test:glhWqFZ7EPDnk
Probier mal ob das bei dir funktioniert.
Also das funktioniert bei mir nicht...
Immer diese genauen Fehlerbeschreibungen :rolleyes: Kommt ein Authentifizierungsdialog oder nicht?
 
Last edited by a moderator:
Auch mit dieser Variante geht es nicht, es kommt einfach gar nichts. Kein Authentifizierungsdialog oder Passwortabfrage, nichts. Ganz normal eben einfach. als wäre keine htaccess vorhanden.
Auch deine Variante geht leider nicht.
 
Wie kann man Lighttpd eingentlich sagen, dass es "normale" htaccess ausführen soll?
In meinen Forenroot liegt folgende htaccess:
Code:
DirectoryIndex portal.php
<Files ~ "\.htaccess$">
order deny,allow
deny from all
</Files>
<Files config.php>
Deny from all
</Files>
<Files common.php>
Deny from all
</Files>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)echr(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)esystem(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*).system(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)highlight=\%2527 [OR]
RewriteCond %{QUERY_STRING} ^(.*)rush=\%65\%63\%68 [OR]
RewriteCond %{QUERY_STRING} ^(.*)rush=echo [OR]
RewriteCond %{QUERY_STRING} ^(.*)wget\%20 [OR]
RewriteCond %{QUERY_STRING} ^(.*)union(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)UNION(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)alert\(document(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)SQL_INJECTION(.*) [OR]
RewriteCond %{QUERY_STRING} ^(.*)cmd
RewriteCond %{QUERY_STRING} ^(.*)cmd=
RewriteRule ^.*$ http://127.0.0.1/ [L,R=301]
RewriteCond %{HTTP_COOKIE}% s:(.*):%22test1%22%3b
RewriteRule ^.*$ http://127.0.0.1/ [R,L]
RewriteCond %{HTTP_USER_AGENT} ^lwp.* [NC]
RewriteRule ^.*$ http://127.0.0.1/ [R,L]
RewriteCond %{HTTP_REFERER} ^.*$
Wie kann ich diese ausführbar machen?

Bisher war nur die Rede von htaccess Passwort-Authfication...
 
Hm und wie mach ich das bzw. welche Module brauche ich dafür?
mod_auth benutze ich ja schon für die htaccess Passwort-Authfication.
 
Back
Top