Ankündigung

Einklappen
Keine Ankündigung bisher.

in .htaccess mit php einloggen

Einklappen

Neue Werbung 2019

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

  • in .htaccess mit php einloggen

    Hallo!

    ich habe auf meiner seite mit Session einen login realisiert. die seiten werden am anfang gesichert.
    jedoch konnte man noch auf bilder ect. direkt zugreifen. daher habe ich die gewünschten ordner mit .htaccess gesichert. läuft auch alles super.
    jedoch musste man sich sozusagen 2x anmelden. das war sehr unschön.

    meine lösung ist jetzt:
    PHP-Code:
    http://$user:$passwort@.... 
    so wird direkt aus dem php script das paswort und der benutzer an den link weitergegeben. trozdem kommt beim ersten mal aber dieses fenster:

    "Sie sind dabei, sich bei der Website "weasel90.we.funpic.de" mit dem Benutzernamen "user" anzumelden."
    was natürlich nervig ist, weil der user ganz genau weiß das er sich dort anmeldet...

    kurz: gibt es eine möglichkeit dieses fenster direkt mit ok zu bestätigen, so das es nie angezeigt wird.
    oder gibt es eine andere variante mich mit php in htaccess einzuloggen?


    mfg Chris

  • #2
    Hm, zielführend aber sicher nicht die eleganteste Variante ist:

    Den Login um ein Verzeichnis auf die höhere hierarchische Ebene zu verlegen.

    Dann könntest du die .htaccess dynamisieren, in dem du einen Teil als PHP parst und die entsprechenden Befehle für die Abfrage des Logins nur dann ausgeben lässt, wenn man sich zuvor nicht via PHP-Script angemeldet hat.

    Sollte hinreichend sein um das Verzeichnis gegen fremden Zugang zu schützen.

    Kommentar


    • #3
      Zitat von CL90 Beitrag anzeigen
      meine lösung ist jetzt:
      PHP-Code:
      http://$user:$passwort@.... 
      Das ist absolut keine Lösung - es funktioniert nicht mal browserübergreifend.

      so wird direkt aus dem php script das paswort und der benutzer an den link weitergegeben.
      „Aus dem PHP-Script“ heraus passiert hier gar nichts, ausser vielleicht die Ausgabe der genannten Adresse in Textform.
      Es ist bei HTTP Auth die Aufgabe des Clients, die Zugangsdaten zu übermitteln.

      Erreicht hast du damit in Bezug auf das, was du wolltest, so gut wie gar nichts - jeder kann Benutzername und Passwort aus dem Quelltext deiner Seite heraus lesen, und damit auch an beliebiger anderer Stelle genauso wieder einsetzen.
      [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

      Kommentar


      • #4
        Zitat von mumaha Beitrag anzeigen
        Hm, zielführend aber sicher nicht die eleganteste Variante ist:

        Den Login um ein Verzeichnis auf die höhere hierarchische Ebene zu verlegen.

        Dann könntest du die .htaccess dynamisieren, in dem du einen Teil als PHP parst und die entsprechenden Befehle für die Abfrage des Logins nur dann ausgeben lässt, wenn man sich zuvor nicht via PHP-Script angemeldet hat.

        Sollte hinreichend sein um das Verzeichnis gegen fremden Zugang zu schützen.
        dann muss ich mich aber zuerst mit .htaccess einmal anmelden, und mit php nochmal oder nicht?
        ich würd aber gerne nur eine einmalige abfrage haben.


        edit: ich hab eben einen thread gefunden wo ein "php download script" erwähnt wurde, ich werde erstmal nachsehen was es damit aufsich hat.
        solange ist dieser thread erstmal auf eis gelegt

        Kommentar


        • #5
          Um noch mal einen Vorschlag zu machen um den doppelten Login zu vermeiden:

          Du hast ein Verzeichnis (z. B. "root/") mit folgender index.php:
          PHP-Code:
          <?php
          /* 
          Um den Ganzen Loginkram für das Beispiel sich zu sparen, 
          erfolgt die Authentifizierung bei mir per GET.

          Du fügst hier einfach dein Login ein und machst es 
          zur Vorraussetzung für folgenden include
          */

          $referenzUser "admin1";
          $referenzPassword "bäm";

          if         (
                      isset(
          $_GET['user']) 
                  &&     isset(
          $_GET['password']) 
                  &&     
          $_GET['user'] == $referenzUser
                  
          &&     $_GET['password'] == $referenzPassword
                  
          )
                  {
                  
          /*Von hier aus wird quasi auf die App zugegriffen*/
                  
          $_SESSION['logon'] = true//ggf. die Session vorher noch starten
                  
          include 'app/index.php';
                  }
          else        {
                  
          header("Location: http://de.wikipedia.org/wiki/Toter_Link");
                  exit;
                  }
          Und ein Unterverzeichnis namens "root/app/" mit folgenen Datein:

          .htaccess
          PHP-Code:
          AddType x-mapp-php4 .php .php4
          AddType x
          -mapp-php5 .php .php5

          AuthType Basic
          AuthName 
          "Zugriff auf Sicherheitsbereich"
          AuthUserFile .htpasswd
          AuthGroupFile 
          .htgroup
          <Limit GET>
          require 
          group admin
          </Limit
          .htpasswd
          PHP-Code:
          admin1:bäm 
          .htgroup
          PHP-Code:
          adminadmin1 
          und index.php
          PHP-Code:
          <?php
          /* 
          In dieser Datei bzw. in diesem Verzeichnis sind alle Daten per .htaccess geschützt.
          Hier imlementierst du deine gesamte Applikation.
          */
          if         (true === $_SESSION['logon'])
                  {
                  echo 
          "Zugriff auf den Sicherheitsbereich";
                  }
          ?>
          Somit sind deine sensiblen Daten in dem Verzeichnis "app/" per Passwort geschützt...
          Und es erfolgt keine doppelter Login, da der Server durch den "include" sich selber authentifiziert.

          Kommentar


          • #6
            vielen dank für den vorschalg!

            jedoch hab ich es grade geschafft das downlaodscript richtig zu nutzen. erfüllt seinen zweck sehr gut!

            PHP-Code:
            <?php

                     $download_dir 
            "pwordner/";

                     
            $file $_GET['d'];

                     
            $file_dir $download_dir.$file;

                     
            header("Content-Type: x-type/subtype");
                     
            header("Content-Length: ".filesize($file_dir));
                     
            header("Content-Disposition: attachment; filename=".$file);

                     
            readfile($file_dir);
            ?>
            dadurch greife ich direkt auf die datei zu ohne htaccess abfrage.
            das php downloadscript ist dann vollständig mit php session gesicht.
            direkter zugriff auf die datein wird dann durch htaccess geblockt.

            geht echt super!

            Kommentar

            Lädt...
            X