Unterschiede HTTP-Authentifizierungen

bmxvoodoo

Mitglied
Hallo,

ich habe über die zwei verschiedene HTTP-Authentifizierungsverfahren gelesen. Einmal das Verfahren mit ".htaccess"-Dateien und einmal Authentifizierung mit Hilfe von Modifikation des HTTP-Headers.
Also z.B. so:

Code:
<?php
  if ($PHP_AUTH_USER != "Max" or $PHP_AUTH_PW != "Mustermann") {
    Header ('HTTP/1.1 401 Unauthorized');
    Header ('WWW-Authenticate: Basic realm="Privater Bereich von Chriz"');
    echo "Sie haben den Vorgang abgebrochen";
    exit;
  } else {
    unset($PHP_AUTH_PW);
  }
?>
<html>
  <head>
    <title>HTTP-Authtication</title>
  </head>
<body>
  <h1>Hier ist die Privatzone von </h1> 
  <h2>
<?php
  echo "Nutzer: ".$PHP_AUTH_USER;
?>
  </h2>
</body>
</html>

Was wisst ihr über die Unterschiede? Die die ich weiß, fasse ich hier schon mal zusammen:

Header:
- funktioniert nur, wenn PHP als Apache-Modul läuft
- regelt nur Zugriff auf einzelne Dateien
- der HTTP Header wird modifiziert

.htaccess:
- regelt Zugriff auf Verzeichnisse

Weiß jemand von euch noch einen Unterschied?
 
Hallo,

du hast die ja die Antworten zu 95% schon selbst gegeben.

Aber was ist der wichtigste Unterschied

Wenn du es über die Header und ohne .htaccess regelst kannst du die Authentifizierung über PHP machen - also sprich die Benuter aus einer DB authentifizieren und nicht aus der .htaccess :rolleyes:
 
[…] regelt nur Zugriff auf einzelne Dateien
Auch der Zugriff auf ganze Verzeichnisse/Ressourcen kann über PHP geregelt werden. Dazu ist lediglich eine Umschreibung der Anfragen auf das verarbeitende Skript nötig (vgl. Apache-Modul „mod_rewrite“).

[…] der HTTP Header wird modifiziert
Auch bei der „.htaccess“-gesteuerten HTTP-Authentifizierung wird ein entsprechendes HTTP-Header-Feld gesendet.
 
Ja genau, aber bei der einen Variante wird der Header nur modifiziert, so habe ich das zumindest verstanden.

Also gibt es keine großen Unterschiede?

Die Sicherheit ist bei beiden Verfahren identisch oder?
 
Gumbo hat gesagt.:
Auch der Zugriff auf ganze Verzeichnisse/Ressourcen kann über PHP geregelt werden. Dazu ist lediglich eine Umschreibung der Anfragen auf das verarbeitende Skript nötig (vgl. Apache-Modul „mod_rewrite“).

Auch bei der „.htaccess“-gesteuerten HTTP-Authentifizierung wird ein entsprechendes HTTP-Header-Feld gesendet.

Hallo Gumbo,

erkläre mir das mal bitte näher - ich müsste gerade sowas über PHP machen und muss aber ein ganzes Verzeichnis schützen.
Hast du evtl auch eine Quelle wo ich das nachlesen kann?
 
Angenommen das Verzeichnis „/foobar/“ solle eine PHP-Autentifizierung durchlaufen, könnten jegliche Anfragen eines Verzeichnisses auf das verarbeitende Skript umgeschrieben werden, beispielsweise mit folgenden Direktiven:
Code:
RewriteEngine	on
RewriteRule	^foobar/(.*)$	<verarbeitendes-Skript>?requestedPath=$1   [L]
 
Hallo Gumbo,

danke für die Info.

Wenn ich dich also richtig verstanden habe muss diese Einstellung in der apache.conf gemacht werden - oder?
 
Zurück