SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 25.10.2006, 16:10:21
KTB KTB ist offline
Member
 
Registriert seit: Mar 2006
Alter: 38
Beiträge: 599
Passwortschutz für Verzeichnisse

Hallo zusammen,
mal wieder eine simple Frage die mir hoffentlich diesmal jemand beantworten kann.

Habe mir mal zum Testen die crypt.php aus dem Kochbuch geladen und ausgeführt.
Das Script wird ordnungsgemäß durchlaufen, einzig wird ein Hinweis ausgegeben dass die Variable access undefiniert ist (also Wurscht).
Er erstellt ordnungsgemäß die zwei Dateien.
Wenn ich nun auf das Verzeichnis zugreifen will, fragt er mich nach Benutzername und Passwort, so wie es sein soll.
Leider akzeptiert er die zuvor ausgewählte Kombination nicht. Habe auch schon andere Benutzernamen und Passwort - Kombinationen erfolglos versucht. Authentisierung fehlgeschlagen!
Habe daruafhin die Dateien überprüft, aber dort ist alles richtig eingetragen.

Benutze das aktuelle Xampp auf Windows XP Professional.

Hilfe?!?

P.S.: Mir sind übrigens 2 Rechtschreibfehler aufgefallen:
Wie benutzen für die Realisierung die PHP-Funktion crypt().
$authName = 'Meine geschütztes Verzeichnis';
__________________
In der Ruhe liegt die Kraft!

Geändert von KTB (25.10.2006 um 16:29:10 Uhr) Grund: P.S.
Mit Zitat antworten
  #2  
Alt 25.10.2006, 22:01:33
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Passwortschutz für Verzeichnisse

Das beachtet?
PHP-Code:
//Den kompletten Pfad zu der Datei .htpasswd, ohne abschließenden Slash (/)
$passwdFile ''
Dort muß der absolute Pfad eingetragen werden.

Geändert von meikel (†) (25.10.2006 um 22:02:21 Uhr)
Mit Zitat antworten
  #3  
Alt 25.10.2006, 23:57:43
KTB KTB ist offline
Member
 
Registriert seit: Mar 2006
Alter: 38
Beiträge: 599
AW: Passwortschutz für Verzeichnisse

Jopp
__________________
In der Ruhe liegt die Kraft!
Mit Zitat antworten
  #4  
Alt 26.10.2006, 11:12:13
Benutzerbild von rarios
rarios rarios ist offline
Member
 
Registriert seit: Jun 2006
Beiträge: 655
AW: Passwortschutz für Verzeichnisse

hab genau das gleich problem!
Mit Zitat antworten
  #5  
Alt 26.10.2006, 13:37:05
Benutzerbild von rarios
rarios rarios ist offline
Member
 
Registriert seit: Jun 2006
Beiträge: 655
AW: Passwortschutz für Verzeichnisse

hmm könnte es vllt daran liegen, ich guck mir grad mal den code an, dass
PHP-Code:
// Den Benutzernamen für den Login
$user '';

// Das Passwort für den Login
$passwd '';

// Der Text, der angezeigt wird wenn das Login-Fenster geöffnet wird.
$authName 'Geschützter Bereich';

//Den kompletten Pfad zu der Datei .htpasswd, ohne abschließenden Slash (/)
$passwdFile ''
sehr weit am ende steht?

Geändert von rarios (26.10.2006 um 13:37:24 Uhr)
Mit Zitat antworten
  #6  
Alt 26.10.2006, 16:23:52
KTB KTB ist offline
Member
 
Registriert seit: Mar 2006
Alter: 38
Beiträge: 599
AW: Passwortschutz für Verzeichnisse

Nein, denn erst danach wird die Funktion aufgerufen.
__________________
In der Ruhe liegt die Kraft!
Mit Zitat antworten
  #7  
Alt 13.11.2006, 21:37:15
freak4fun freak4fun ist offline
Anfänger
 
Registriert seit: Nov 2006
Beiträge: 5
AW: Passwortschutz für Verzeichnisse

Moin,
bin ebend auf das gleiche Problem gestoßen. Bei mir funktioniert das PW, wenn ich das PW aus der .htpasswd nehme. Anscheinend wird da nichts verschlüsselt. :(

Alternativ kannst du ja mit dem PWErstelle von Xampp (\apache\bin ...) ein PW erstellen und da eintragen, dann kann ist das PW auch verschlüsselt, aber so wie es im Kochbuch beschrieben ist, kann man das PW auch im Klartext in eine Textdatei schreiben. :(

Ich hoffe mal da wird noch was dran gemacht.

MfG
freak
Mit Zitat antworten
  #8  
Alt 14.11.2006, 00:04:49
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Passwortschutz für Verzeichnisse

Hier ein Onlinebeispiel für das korrigierte Script aus Damirs Kochbuch:
http://scriptarchiv.php-help.info/selfphp/76/

Und hier das Script:
PHP-Code:
<?php

# Quelle: http://www.selfphp.de/kochbuch/kochbuch.php?code=76

/**
 *    Passwortgenerierung mit .htaccess und .htpasswd
 *
 *    Systemvoraussetzung:
 *    Linux / Windows 
 *    PHP 3, PHP 4, PHP 5
 *
 *    Schützt ein komplettes Verzeichnis incl. Unterverzeichnissen mit einem
 *    Benutzernamen und Passwort.
 *
 *     LICENSE: GNU General Public License (GPL)
 *    This program is free software; you can redistribute it and/or modify
 *    it under the terms of the GNU General Public License version 2,
 *    as published by the Free Software Foundation.
 *
 *    @category   Verschlüsselung
 *    @author     Damir Enseleit <info@selfphp.de>
 *    @copyright  2001-2006 SELFPHP
 *    @version    $Id: crypt.php,v 0.10 2006/04/01 11:32:00 des1 Exp $
 *    @link       http://www.selfphp.de
 */

/**
 * Baut die Struktur für die Darstellung auf
 *
 * @param        string        $user                    Den Benutzernamen für den Login
 * @param        string        $authName            Der Text, der angezeigt wird wenn das Login-Fenster
                                                                         geöffnet wird.
 * @param        string        $passwdFile        Den kompletten Pfad zu der Datei .htpasswd
 *                                                                    ohne abschließenden Slash (/). Lässt man diese
 *                                                                    Variable leer, so wird die Datei im aktuellen
 *                                                                    Verzeichnis erstellt.
 *
 * @return    void                                        Liefert nichts zurück                        
 */
function make_htaccess($user$authName$passwdFile="")
{
    
    if(empty(
$passwdFile))
        
$passwdFile=dirname(__FILE__);
    
    
$access .=    'AuthType Basic' "\n";
    
$access .=    'AuthName "' $authName '"' "\n";
    
$access .=    'AuthUserFile ' $passwdFile '/.htpasswd' "\n";
    
$access .=    'require user ' $user "\n";
    
    
$handle fopen(".htaccess","w");
    
fputs($handle,$access);
    
fclose($handle);

}

/**
 * Baut die Struktur für die Darstellung auf
 *
 * @param        string        $user                    Den Benutzernamen für den Login
 * @param        string        $passwd                Das Passwort für den Login
 * @param        string        $passwdFile        Den kompletten Pfad zu der Datei .htpasswd
 *                                                                    ohne abschließenden Slash (/). Lässt man diese
 *                                                                    Variable leer, so wird die Datei im aktuellen
 *                                                                    Verzeichnis erstellt.
 *
 * @return    void                                        Liefert nichts zurück                        
 */

# geändert von meikel. Diese Änderungen erfordern PHP5 ( file_put_contents() )


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

    
$passwd crypt($passwd);
    
$htpasswd $user ':' $passwd "\n";

    
$filename $passwdFile '/.htpasswd';

    if (! 
file_exists($filename))
    {
        if (! 
is_writable($passwdFile))
            die(
'Fehler! Darf nicht ins Verzeichnis schreiben.');
        
file_put_contents($filename'');
    }

    
$arr file($filename);
    
$found false;
    for(
$i=0$i<count($arr); $i++)
    {
        if (
substr($arr0$arr[$i]) == '#'# Kommentarzeilen überlesen
            
continue;

        
$temp explode(':'$arr[$i]);
        if (
$temp[0] != $user)     # User nicht gefunden
            
continue;

        
$arr[$i] = $htpasswd;     # User gefunden. Schlüssel ersetzen.
        
$found true;            # Flag setzen
        
break;                    # Da nur ein User eingetragen wird, kann die Schleife beendet werden
    
}
    if (
$found === false)         # falls der User noch nicht gefunden wurde,
        
$arr[] = $htpasswd;     # wird er hier als neue "Zeile" eingetragen

    
$arr implode(''$arr);    # da jedes Arrayelement mit einem LINUX ENTER sowieso versehen ist, reicht hier ein ''
    
file_put_contents($filename$arr);
}

// Den Benutzernamen für den Login
$user 'Damir';

// Das Passwort für den Login
$passwd 'meinPasswort';

// Der Text, der angezeigt wird wenn das Login-Fenster geöffnet wird.
$authName 'Meine geschütztes Verzeichnis';

//Den kompletten Pfad zu der Datei .htpasswd, ohne abschließenden Slash (/)
$passwdFile '';


make_htaccess($user$authName$passwdFile);
make_htpasswd($user$passwd$passwdFile);

# noch ein paar Einträge

make_htpasswd('Coding''12345678'$passwdFile);
make_htpasswd('feuervogel''abcdefg'$passwdFile);

// unlink("crypt.php");

?>
Mit Zitat antworten
  #9  
Alt 14.11.2006, 10:56:48
freak4fun freak4fun ist offline
Anfänger
 
Registriert seit: Nov 2006
Beiträge: 5
AW: Passwortschutz für Verzeichnisse

Das bringt mich keinen Schritt weiter. :(

Wie bringe ich meinem Xampp-Lite bei, das in der .htpasswd ein mit crypt verschlüsseltes Passwort steht und nicht eins im Klartext. *gruebel*

Aber danke für den Hinweis auf das Update. ;)

MfG
freak
Mit Zitat antworten
  #10  
Alt 14.11.2006, 11:21:34
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Passwortschutz für Verzeichnisse

Nochmal zur Klärung: Dein Script funktioniert nicht, wenn das Passwort als Hash in der Datei steht oder wenn es im Klartext in der Datei steht?
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verzeichnisse und dateien mit PHP in Dateirechnten ändern rkersting PHP für Fortgeschrittene und Experten 1 18.05.2005 10:52:12
CHMOD für Verzeichnisse via script ändern Odi PHP für Fortgeschrittene und Experten 3 04.03.2004 14:36:13
Verzeichnisse löschen?!? web-wg PHP für Fortgeschrittene und Experten 4 27.08.2003 14:40:31
immer noch Passwortschutz ;-) Stoevi PHP für Fortgeschrittene und Experten 0 15.12.2002 19:07:10
simpler Passwortschutz mit PHP, wie?? Pfanni PHP für Fortgeschrittene und Experten 4 28.03.2002 12:13:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:17:35 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt