.htaccess und PHP

  • Hallo.

    Ich habe ein kleines Script geschrieben, in dem man wie in einem Gästebuch Einträge schreiben kann.
    Nun wollte ich eine Funktion einfügen, mit deren Hilfe ich - und nur ich - Einträge wieder löschen kann.

    Das mit dem Löschen funktioniert auch ganz gut. Damit nur ich löschen kann habe ich die Datei loeschen.php, welche für das Löschen zuständig ist in ein Verzeichnis secure verschoben, welches ich durch .htaccess geschützt habe.

    Mein Gedanke war nun, dass man im eigentlichen Script auf einen Link klicken kann, der dann die loeschen.php per include implementiert und die entsprechenden Werte wie z.B. die ID des Eintrag übergibt, damit die loeschen.php weiß, welcher Eintrag gelöscht werden soll. Das funktioniert prima. Nur dachte ich, dass eine Passwortabfrage erscheint, wenn das php-script auf ein geschütztes Verzeichnis zugreifen will. Das tut es aber nicht. Man kann ohne weiteres Einträge löschen, ohne ein Passwort einzugeben.

    Das .htaccess ist aber aktiv. Ich kann auf das Verzeichnis und die Dateien darin nicht zugreifen, wenn ich sie manuell im Browser anwähle. Nur das Php-Script kann darauf zugreifen. Warum? Was kann ich dagegen tun?

  • Zitat von abc


    Das .htaccess ist aber aktiv. Ich kann auf das Verzeichnis und die Dateien darin nicht zugreifen, wenn ich sie manuell im Browser anwähle. Nur das Php-Script kann darauf zugreifen. Warum? Was kann ich dagegen tun?

    Das ist ja auch so gewollt, dass das PHP Skript darauf zugreifen kann, sonst hätte die ganze Sache mit .htaccess keinen Sinn. Z.B. ist es dafür gedacht, die Datenbankverbindung auszulagern und damit keiner die mauell aufrufen kann und dein Passwort und Benutzernamen rauskriegen kann, schütz man das Verzeichnis mit .htaccess. Trotzdem möchte man aber, dass das PHP-Skript die Datei via include()-Funktion nutzen kann.

    Also da musst du, wie schon gesagt, eine Art Login-System bauen. Nur der, der sich registriert, kann dann seine Einträge ändern etc. Und dann kannst du auch ganz einfach einbauen, dass nur bei dir ein Link "Löschen" erscheint.

    Das musst du dann aber mit einer Datenbank im Hintergrund machen und Sessions solltest du auch beherrschen.

    Oder eine noch einfachere Möglichkeit: Du baust den Link fest ein und verlinkst zu einer Datei, in der Passwort und Benutzername verlangt werden. Und wenn die richtig sind, leitest du weiter zu ner Datei, von der aus man den gewünschten Eintrag löschen kann. Ich denke, dass ist am einfachsten.


    LG, Chris