Dynamische htaccess und htpasswd für API Aufrufe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dynamische htaccess und htpasswd für API Aufrufe

    Hallo Gemeinde,

    stehe vor einem Problem mit der richtigen Generierung von o.g. Dateien. Im speziellen geht es um die korrekte Verschlüsselung der Passwortdaten in der htpasswd.

    Die beiden Funktionen:
    PHP-Code:
    function make_htaccess($user$authName$passwdFile="")
    {
        
        if(empty(
    $passwdFile))
            
    $passwdFile=dirname(__FILE__);
        
        
    $access .=    'AuthType Digest' "\n";
        
    $access .=    'AuthName "' $authName '"' "\n";
        
    $access .=    'AuthUserFile .htpasswd' "\n";    
            
    $access .=    'Require valid-user' "\n";    
        
    $handle fopen(".htaccess","w");
        
    fputs($handle,$access);
        
    fclose($handle);

    }


    function 
    make_htpasswd($user$passwd$passwdFile="")
    {
        
        if(empty(
    $passwdFile))
            
    $passwdFile=dirname(__FILE__);

            
    $hash md5($user ':SHE API:' .$passwd);
        
    $contents $user ':SHE API:' $hash "\n";
        
        
    $handle fopen('.htpasswd',"a");
        
    fputs($handle,$contents);
        
    fclose($handle);
        

    Der Aufruf der Funktionen:
    PHP-Code:
    make_htaccess($user$authName$passwdFile);
    make_htpasswd($user$passwd$passwdFile); 
    Im Detail geht es mir um diese Passage im Code:
    PHP-Code:
    $hash md5($user ':SHE API:' .$passwd);
    $contents $user ':SHE API:' $hash "\n"
    Wie muss man das richtig verschlüsseln bzw. übergeben, damit der Anmeldevorgang erfolgreich ist?

    Es kommt der Pop bei IE, Chrome, FF etc. aber die Anmeldung schlägt jedesmal fehl. Hintergrund ist eine Schnittstelle für eine API innerhalb unserer Vereinsseite, welche ich gern darüer aufrufen möchte. Der Aufruf erfolgt dann mal später aus einem VB.NET Programm heraus über die RESTSharp Bibliothek. Um die ganze Sache sicher zu machen, sollen die entsprechenden Nutzer des Programms durch einen API Key Zugriff darauf bekommen.

    Solltet Ihr andere Vorschläge haben, bin ich auch dafür gern offen.
    Wozu brauchen wir Kraftwerke, wenn der Strom aus der Steckdose kommt.

  • #2
    Hi ronronron3005,

    du verwendest in der htaccess "Digest-Access-Authentication".

    Ist diese Authentifizierungsmethode bei dir verfügbar?

    Siehe z.B.: --> mod_auth_digest und mod_auth_basic - Apache-Module für Verzeichnis-Schutz - Webmaster-IMHO

    Laut deinem Code . . .
    PHP-Code:
    $hash md5($user ':SHE API:' .$passwd); 
    $contents $user ':SHE API:' $hash "\n"
    . . . sähe ein Eintrag in der htpasswd-Datei so aus:
    User_Name:SHE API:d8913dee26f7babefe563578c2005641

    Ist das Absicht? Denn normalerweise steht dort nur User_Name:Verschlüsseltes_Passwort.

    Oder hat das mit deiner API zu tuen? Wenn nicht, warum benutzt du nicht einfach das Programm htpasswd zur Erstellung der Passwortdatei?

    Gruß
    Günni

    Kommentar


    • #3
      Danke erstmal für deine Hilfe. Diese Anleitung mit dem Kennwort hatte ich aus dem Netz und zwischen User und Passwort sollte das Realm rein. Mittlerweile habe ich eine reine PHP Lösung gefunden, welche ich gern hier präsentieren kann. Allerdings bin ich erstmal im Urlaub.
      Wozu brauchen wir Kraftwerke, wenn der Strom aus der Steckdose kommt.

      Kommentar

      Lädt...
      X