Tag Archive http

Agavi routing specials

3. Mai 2010 Kommentare deaktiviert für Agavi routing specials By webpirat

Um bestimmte Agavi output_types bei speziellen routings zu bedienen kann man die routing.xml wie folgt anpassen.

<!-- cut out leading slash -->
<route name="slasher" pattern="^/" stop="false" imply="true" cut="true" />

<!-- match ajax calls with special http header -->
<route pattern="XMLHttpRequest" source="_SERVER[HTTP_X_REQUESTED_WITH]" stop="false" output_type="ajax" />

<!-- match json calls with special http header -->
<route pattern="application/json" source="_SERVER[HTTP_ACCEPT]" stop="false" output_type="json" />

<!-- cut out special pointer -->
<route name="portal" pattern="^({portal:[a-zA-Z]{3}}/)?" stop="false" imply="true" cut="true">
    <callbacks>
        <callback class="RoutingCallback" />
    </callbacks>
</route>

, , , , , , , , , ,

HTTP Authentifizierung mit Lighttpd

27. Oktober 2009 Kommentare deaktiviert für HTTP Authentifizierung mit Lighttpd By webpirat

Um im schlanken Webserver Lighty eine HTTP Authentifizierung für bestimmte Verzeichnisse zu erzeugen, ist es notwendig, in der /etc/lighttpd/lighttpd.conf das Server-Modul mod_access und mod_auth zu aktivieren.


server.modules = (
                    "mod_access",
                    "mod_auth",
                    "mod_alias",
                    "mod_accesslog",
                    "mod_compress",
                    "mod_cgi",
                    "mod_fastcgi",
                    "mod_rewrite",
                    "mod_magnet",
                    "mod_redirect",
                    "mod_status",
                    )

Um ein Verzeichnis unterhalb eines bestehenden Webroots nun mit einer Authentifizierung zu schützen, tragen wir das in der /etc/lighttpd/vhosts.conf ein.


$HTTP["host"] =~ "(^|\.)domain\.tld$" {
        server.document-root = "/home/user/pages/"
        auth.backend = "htpasswd"
        auth.backend.htpasswd.userfile = "/home/user/passwd.txt"
        auth.require = ("/" => (
                                 "method" => "basic",
                                 "realm" => "admin",
                                 "require" => "valid-user"
                                 )
                         )
}

Zu guter Letzt benötigen wir noch die /home/user/passwd.txt die die betreffenden Authentifizierungsinfos bereit hält.


user:basic_encoded_password

Fortan ist der Ordner /home/user/pages/ passwortgeschützt.
Möchte man einen Unterordner passwortschützen, trägt man diesen statt des Slashes ein:


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

, , , , , , , ,