HP auf ibook mit .htaccess-was mach ich falsch???

okay...das könnte schwierig werden!

okay, im anhang habe ich mal ein bild von meinem webordner. die html-seite "downloads " soll bei zugriff eine passwortabfrage habe. also wenn ich auf den link "downloads" gehe, soll die abfrage kommen.

aber wie muss ich dann die htaccess-datei umschreiben!?
HAL 9500 meinte ich brauche ein htpasswd-datei?

lt. selfhtml brauch ich eine htusers-datei?
 
bild vergessen
 

Anhänge

  • pageinhalt.jpg
    pageinhalt.jpg
    60,4 KB · Aufrufe: 54
Ok, ich hab dir mal eben ein kleines Script geschrieben mit dem du dir htaccess Dateien für Authentication basteln kannst.


Hier schon mal der Inhalte für beide Dateien, welche du nach /Library/WebServer/Documents/ legst.

Wichtig ist, das der absolute Pfad zur .htpasswd angegeben wird.


.htaccess:

AuthName 'Admin'
AuthType Basic
AuthUserFile /Library/WebServer/Documents/.htpasswd
require valid-user

.htpasswd:


Login:$1$i0RAt7.9$1TqltmLMsR64ovTzX2Ox2/

dc647eb65e6711e155375218212b3964



Die Daten um reinzukommen sind

User: Login
Pass: Password




Quick n Dirty in 3 min., daher nicht schlagen für einige Unsauberkeiten :D


PHP:
<html> 
<head> 
<title>HT Authentication</title>
<link rel='stylesheet' href='default.css'>  
<meta http-equiv='content-type' content='text/html'; charset='iso-8859-1'> 
</head> 
<body>
<?php
if(!empty($_POST['pw']) && !empty($_POST['name']))
    { 
    echo'
        <form method=\'post\' action=\''.$_SERVER['PHP_SELF'].'\'>
            <table>
                <tr rowspan=\'2\'>
                    <td colspan=\'3\'>
                        <b>Example .htaccess:</b><p>
                        AuthName \''.$_POST['authname'].'\'<br>
                        AuthType Basic<br>
                        AuthUserFile .htpasswd<br>
                        require valid-user 
                    </td>          
                </tr>
                <tr rowspan=\'2\'>
                    <td colspan=\'3\'>
                        <b>Example .htpasswd:</b><p>
                    </td>          
                </tr> 
                <tr>                                
                    <td colspan=\'3\'>
                        '.$_POST['name'].':'.crypt($_POST['pw']).'
                    </td>
                </tr>
                <tr>
                    <td colspan=\'3\'>
                        '.md5($_POST['pw']).'
                    </td>
                </tr>
                <tr rowspan=\'2\'>
                    <td colspan=\'3\'>
                        <a href=\''.$_SERVER['PHP_SELF'].'\'>clear</a>
                    </td>
                </tr>
            </table>
        </form>               
        </body>
        </html> 
        ';   
    }
    else
    {  
    echo'  
        <form method=\'post\' action=\''.$_SERVER['PHP_SELF'].'\'>
            <table>
                <tr>
                    <td>
                        <h3>HT Authentication</h>
                    </td>  
                </tr>
                <tr>
                    <td>
                        <input name=\'authname\' value=\'Auth Name\'>
                    </td>  
                </tr>
                <tr>                                 
                    <td>  
                        <input name=\'name\' value=\'Login\'>
                    </td>
                </tr>
                <tr>
                    <td>
                        <input name=\'pw\' value=\'Password\'>
                    </td>                                
                </tr>
                <tr>
                    <td>
                        <input type=\'submit\' value=\'encrypt\'>
                    </td>
                </tr>
            </table>
        </form>                  
        </table>
        </body>
        </html>
        ';
    }
_?> 


//Und das hier packst du in die default.css ;)

body,table,td,a,select,text,input
    {
    color:#202020;
    font-family:Verdana,Arial,Helvetica,sans-serif;;
    font-size:9px;
    font-weight:normal;
    text-decoration:none;
    padding:5 0 0 5;
    margin:0;
    }
table
    {
    height:200px;
    border-collapse:collapse;
    border-spacing:0px;
    }
a:link 
    { 
    color:#252525;
    }
a:visited
    { 
    color:#666666;
    }
a:active 
    { 
    color:#555555;
    }
a:hover 
    { 
    color:#404040;
    }



Yves
 
Zuletzt bearbeitet von einem Moderator:
hier doch noch mal die http.conf
 
Original geschrieben von basti2701
okay...das könnte schwierig werden!
&nbsp;

Waaaaah *Panik*



Ganz von vorne…


Poste bitte mal deine gesamte httpd.conf

Sicher ist sicher.

Dann erkläre ich dir den Rest.
 
na wenn ich die gesamte hier poste sagt der mir immer, dass ich zu viele zeichen hätte!??

kannst du mit der txt-datei nichts anfangen?
 
Hatte dein Posting nicht gesehen…


Ich hab deine Config mal ein wenig abgespeckt und korrigiert. Du hattest Options All vergessen.

Ersetze nun deine httpd.conf durch meine httpd.conf und starte den Apache erneut.

Danach legst du wie oben beschrieben beide Dateien (.htaccess, .htpasswd) in /Libary/Webserver/Documents, indem du dir 2 leere Textdateien machst, die Inhalte dort hineinkopierst und entsprechend abspeicherst.


Dann sollte es gehen.


Ich hab dir übrigens in der httpd.conf direkt mal PHP aktiviert, das war ausgeschaltet.


Yves
 
so, habe jetzt die httpd.config überarbeitet.

der server ist auch neu gestartet worden.

wenn ich jetzt die .htaccess anlege und die .htpasswd auch anlege ist das dann eine password-abfrage für die ganze seite?

diese langen php codes, was ist das denn??? arrggghhh? :)

wenn ich die dateien mit .ht abspeichere sehe ich sie ja nicht mehr. ich habe jetzt schon so einige male htaccess in dem webserver/documents/ abgespeichert..

wie kann ich die denn mal sehen und wird die dann überschrieben, wenn ich jetzt so eine neue von dir mache?

was ist ein absoluter pfad? ab festplatte?
 
//Und das hier packst du in die default.css ;)

body,table,td,a,select,text,input
____{
____color:#202020;
____font-family:Verdana,Arial,Helvetica,sans-serif;;
____font-size:9px;
____font-weight:normal;
____text-decoration:none;
____padding:5 0 0 5;
____margin:0;
____}
table
____{
____height:200px;
____border-collapse:collapse;
____border-spacing:0px;
____}
a:link
____{_
____color:#252525;
____}
a:visited
____{
____color:#666666;
____}
a:active
____{
____color:#555555;
____}
a:hover
____{
____color:#404040;
____}

wohin packe ich das? ich glaube, dir ist nicht klar, dass ich sowas von wenig plan habe, doer
 
Original geschrieben von basti2701
so, habe jetzt die httpd.config überarbeitet.

der server ist auch neu gestartet worden.

wenn ich jetzt die .htaccess anlege und die .htpasswd auch anlege ist das dann eine password-abfrage für die ganze seite?
&nbsp;

Für alles, was sich in dem Ordner und den Unterordnern befindet, wo die .htaccess Datei liegt, gilt der Schutz. Wenn du das nun direkt nach Library/Webserver/Documents legst, werden alle Dateien geschützt, da das der Webserverroot ist. (Stammverzeichnis des Webservers).

Original geschrieben von basti2701

diese langen php codes, was ist das denn??? arrggghhh? :)
&nbsp;

Nix wildes. Ein kleines Tool das ich dir eben gebastelt habe, mit denen du ht authentication files basteln kannst. Das Passwort wird ja immer mittels md5 hash quasi verschlüsselt. Das erledigt das Script für dich.

Original geschrieben von basti2701

wenn ich die dateien mit .ht abspeichere sehe ich sie ja nicht mehr. ich habe jetzt schon so einige male htaccess in dem webserver/documents/ abgespeichert..
wie kann ich die denn mal sehen und wird die dann überschrieben, wenn ich jetzt so eine neue von dir mache?
&nbsp;

Korrekt. Entweder du suchst im Finder nach unsichtbaren Dateien und entfernst diese, oder du nutzt das Terminal um dir die unsichtbaren Dateien anzeigen zu lassen bzw. in der Verzeichnis mit cd / ls zu browsen und dann gegebenfalls zu löschen.

Original geschrieben von basti2701


was ist ein absoluter pfad? ab festplatte?
&nbsp;

Ein absoluter Pfad ist eine genaue, nicht relative Beschreibung der Ordnerstruktur zwischen Root und Target.

Wenn du nun vom Finder ausgehst ist das quasi ab „Festplatte“, also device.

Hier ist aber der Webserverroot gefragt, welcher standardmäßig /library/webserver/documents ist.

Ansonsten gibt dir auch die Servervariable in PHP $_SERVER["DOCUMENT_ROOT"] den Pfad aus, wenn du ihn einmal nicht weisst.


Yves

(sorry für die teilweise schlampigen Formulierungen und Rechtschreibung, hab letzte Nacht nicht viel geschlafen) ;)
 
Original geschrieben von basti2701
wohin packe ich das? ich glaube, dir ist nicht klar, dass ich sowas von wenig plan habe, doer
&nbsp;

Keine Sorge, Ahnung kommt schon irgendwann ;)

Ich hab dir die beiden Scripts mal in den Anhang des Thread gepackt. Einfach herunterladen, entpacken und in die Serverumgebung kopieren.

CSS -> Cascading Style Sheets

Damit formatiert man HTML Dokumente. Hier hatte ich das in eine externe Datei mit Namen default.css geschrieben.


Das mit der Servervariable $_SERVER["DOCUMENT_ROOT"] vergiß dann erstmal wieder.

Der Pfad ist /Library/Webserver/Documents

Yves
 
aber nicht in diesen anhang, oder?

probiere doch mal meine seite aus:

82.82.222.170

ich glaube, es scheint jetzt zu gehen.

ist soo dumm, dass ich auf meine eigene seite nicht gehen kann, weil die ja bei mir gehostet ist!

muss immer über www.megaproxy.com gehen und der hat mir gerade gesagt, dass die seite ein authorisierung bräuchte, hihi


wenn ich jetzt user hinzufügen möchte, passe ich einfach nur die ht-dateien an, richtig?
mit dem anzeigen dieser, über "gehe zu" will noch noch nicht recht klappen.
 
Also ich komme immer noch auf deine Seite.

Du scheinst keine .htaccess Datei angelegt zu haben…

Erzähl doch mal Schritt für Schritt was du gemacht hast, angefangen von meiner httpd.conf die ich dir geschickt habe.



Anhang ist jetzt dabei ;)


Yves
 
Original geschrieben von basti2701
ist soo dumm, dass ich auf meine eigene seite nicht gehen kann, weil die ja bei mir gehostet ist!

Hehe… nene… du kannst deine Seite einfach //localhost via Browser erreichen.


Original geschrieben von basti2701

wenn ich jetzt user hinzufügen möchte, passe ich einfach nur die ht-dateien an, richtig?
mit dem anzeigen dieser, über "gehe zu" will noch noch nicht recht klappen.

Jo, du machst dir mit dem Tool das ich dir gegeben habe einfach einen neuen User+Passwort und kopierst die Zeilen dann in die .htpasswd .

Die .htaccess bleibt unverändert.


Yves
 
Hab gerade nochmal versucht, es scheint zu klappen.

Haste den Apache neugestartet? ;)

Auf jedenfall kommt man jetzt nicht mehr in dein Webroot. Das heisst das der Apache nun korrekt konfiguriert ist.

Wenn nun noch die ht authentication files ok sind, haben wir es geschafft. Bitte nenne mir mal eben User und Passwort, damit ich das überprüfen kann.

Wenn du den User / Pass nicht geändert hast, scheint die .htpasswd nicht gefunden zu werden, da ich mit Login, Password nicht reinkomme.

Da hätten wir dann alles und jeden ausgesperrt :D

Yves
 
Also,

ich habe meine alte httpd.conf geöffnet. deine neue httpd.conf geööfnet. mit copy und paste meine alte mit deinem inhalt überschrieben und abgespeichert.

dann wie beschrieben, den server neu gestartet.

dann habe ich mit subethaedit zwei dateien gemacht. eine .htaccess mit genau dem inhalt den du gepostet hast und eine .htpasswd mit genau dem inhalt den du gepostet hast.

diese habe ich dann unter .htaccess und .htpasswd im verzeichniss >webserver>documents abgelegt. das muss auch geklappt haben, denn bei der .htaccess datei hat er mich gefragt, ob eine andere ältere wohl überschrieben werden soll!

dann bin ich über den proxy auf meine seite gegangen und da bekam ich die fehlermeldung, die seite bräuchte eine authorisierung.

aber wenn du sagst, dass das nicht stimmt?
 
ah, so komme ich auf meine eigene page, habe sie mir sonst manchmal auch mit "öffnen mit" auf meine index.html angeschaut.

bloss da kann man ja nix ausprobieren.

du hast recht, das passwort "Password" haut nicht so richtig hin...was ist da los?
 
die datei "default.css" ist jetzt auch in meinem webordner!

hat sie jetzt schon einen einfluss?

die "auth.php" auch. wie ich diese benutzen soll weiss ich leider noch nicht. ich weiss, du hast es mir bestimmt schon gesagt, aber wie soll ich sie verwenden? mit welchen programm öffnen? mit nem browser?

liebe grüße,

basti2701
 
tja, warum geht es denn jetzt wohl nicht?

wäre ja schon mal interessant, oder!? :)

bzw. sehr sehr wichtig


dann kann ich nämlich gleich beruhigt schlafen gehen ;)
 
Hi,

die auth.php und die default.css haben nix mit unserem Problem zu tun. Das ist nur ein Tool, über das du dir eine htaccess und eine htpasswd Datei generieren kannst, indem du diese Datei (wenn sie im Webroot liegen) über http://localhost/auth.php aufrufst, einen Auth Name, User & Pass vergibst, dann auf abschicken klickst und 2 Texet erhältst. Nämlich Inhalt für die .htaccess und .htpasswd . Diese kopierst du dann einfach aus dem Browser (so wie du vorhin das hier aus dem Forum kopiert hast) und fügst es entsprechend in 2 Textdateien ein, die du nachher entsprechend speicherst und benennst. Wichtig ist, das du in der .htaccess dann vor das .htpasswd folgendes setzt:


/Library/Webserver/Documents


sodass dann am Ende dort

/Library/Webserver/Documents/.htpasswd

steht.


Normalerweise legt man .htpasswd nicht zu den .htaccess Dateien, sondern eine Ebene höher aus Sicherheitsgründen, aber das lassen wir hier mal. Es wird sicherlich niemand deinen Rechner aufsuchen und sich dann die Mühe machen, die ht authentication zu umgehen.


Nun zum Problem.

Hier am Thread hängt nochmal eine Zip Datei.

Lade diese herunter und entpacke sie auf den Desktop.

Dann öffne das Terminal und gibt ein


su

(dann dein root passwort)

mv

(ein Leerzeichen machen und die Datei htaccess auf das Terminal ziehen und folgendes danach eintippen, nachdem sich der Pfad gebildet hat (durch das DragNDrop der Datei))

/Library/Webserver/Documents/.htaccess


(dann Enter)



Nun wieder:



mv


(Leertaste, htpasswd aufs Terminal ziehen)


/Library/Webserver/Documents/.htpasswd



(Enter drücken)



Nun müssten deine Dateien korrekt im Webroot liegen und ebenfalls funktionieren.


Yves
 
Zurück
Oben Unten