Ankündigung

Einklappen
Keine Ankündigung bisher.

mit Session geschützte Seite kann mit Exel abgefragt werden

Einklappen

Neue Werbung 2019

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

  • mit Session geschützte Seite kann mit Exel abgefragt werden

    hey leute,

    hab ein problem und zwar habe ich eine Seite auf der eine Datenbank Abfrage stattfindet.

    Diese seite ist mit einer Session geschützt und kann nur mit einem login gesehen werden.

    PHP-Code:
    <?php session_start();
    if(!isset(
    $_SESSION['username']) AND $_SESSION['freigabe'] == 1)
       {
       echo 
    "Bitte erst <a href=\"login.php\">einloggen</a>";
       exit;
       }


       
    ?>
    Allerdings kann man von Exel aus, die daten die in einer Tabele ausgeben wird trotzdem abfragen.

    Wie kann ich das lösen das wirklich nur der zugriff hat der eingeloggt ist?

    grüße


  • #2
    Zitat von Schakal Beitrag anzeigen
    Allerdings kann man von Exel aus, die daten die in einer Tabele ausgeben wird trotzdem abfragen.
    Das ist also Soll-Zustand, nicht ist(?).

    Wie kann ich das lösen das wirklich nur der zugriff hat der eingeloggt ist?
    Kann Excel selber überhaupt HTTP?

    Vermutlich meinst du, dass der Klick auf den Link im Browser die Daten an Excel übergeben soll?
    Nun, damit fällt das ganze auf die schon zigfach diskutierte Problematik zurück, wie man generell Ressourcen mit PHP zugriffsgeschützt ausliefert - also PHP-Script zum Prüfen der Berechtigung und anschliessender Durchschleusung der Daten an den Client.

    Kommentar


    • #3
      die daten sollen ja nicht mit exel gelesen werden können weil so jeder meine datenbank abfragen kann ohne die anmeldedaten zu besitzten.

      Kommentar


      • #4
        Wie soll den Excel Daten „lesen“ können, die dein Server gar nicht herausgibt, wenn man nicht als Nutzer angemeldet ist ...?

        Kommentar


        • #5
          das ist die Preisfrage ich geh bei exel auf externe Webabfrage geb da die seite an also bspw. und gehe auf ausführen und dei daten aus meiner datenbank erscheinen obwohl sies nicht dürften. könnt es auf eurer seite ja mal selbst versuchen. Gibts keinen der das problem kennt und ne lösung hat?

          Kommentar


          • #6
            Als erstes mal (bevor du von mir weitere Antworten bekommst) entfernst du bitte den Link wieder aus deinem Posting - oder ist die genannte Domain etwa deine?
            Für Beispiele gibt es explizit example.com/.net/.org.
            Und die automatische Verlinkung von Adressen kann man als Poster auch mal deaktivieren, wenn sie keinen Mehrwert bringt (und das tut die Verlinkung einer puren Beispieladresse wohl kaum).

            Kommentar


            • #7
              es war ja nur ein Beispiel mit Beispiel als domain und als dateiname wusste nicht das das illegal ist.

              Kommentar


              • #8
                Wo wird $_SESSION['freigabe'] gesetzt? Excel startet den Aufruf an deine Seite und sendet kein Session-Cookie mit (weil es keines/keine Session hat) - damit ist vermutlich auch $_SESSION['freigabe'] nicht gesetzt (hängt davon ab wo du es setzt).
                Somit würde deine IF-Abfrage für Leute ohne Session immer false zurückliefern...
                Create your own quiz show.

                Kommentar


                • #9
                  das Session["Freigabe"] wird beim Login gesetzt je nachdem welcher benutzter sich anmeldet wird aus der Datenbank die Freigabe ausgelesen und in die Variable Session gesetzt. Aber dann ist doch die Session ganz leer und es müsste auch das exit erfolgen oder? Gibt es da andere Ansätze das zu lösen?

                  Kommentar


                  • #10
                    Excel loggt sich aber nicht ein - damit wird $_SESSION['freigabe'] nie gesetzt und dein Vergleich $_SESSION['freigabe'] == 1 liefert FALSE zurück - damit liefert auch die ganze IF-Abfrage IMMER false zurück. Und somit kommt er eben NICHT zu deinem exit.

                    Du solltest erstmal error_reporting auf E_ALL stellen, dann findest du solche Fehler schneller. Vermutlich würdest du dann nämlich hier etwas á la "UNDEFINED INDEX 'freigabe'" bekommen.

                    Wozu brauchst du $_SESSION['freigabe'] überhaupt?
                    Create your own quiz show.

                    Kommentar


                    • #11
                      Da es zweierlei Benutzergruppen gibt und nur eine Zugriff auf das script hat. Gibt es da andere möglichkeiten?

                      Kommentar


                      • #12
                        Zitat von Schakal Beitrag anzeigen
                        Gibt es da andere möglichkeiten?
                        Für was?

                        Du musst eigentlich deine Abfrage nur logisch so formulieren, dass sie dem entspricht, was du erreichen willst.

                        Kommentar


                        • #13
                          ok recht herzlichen dank den Rest will ich mir wieder selber erarbeiten.

                          Kommentar


                          • #14
                            Wenn in $_SESSION['freigabe'] dann die Usergruppe steht ist deine IF-Abfrage einfach logisch falsch...

                            Schau dir einfach nochmal deine Abfrage von oben genau an und überleg dir was das genau bedeutet. Dann fällt dir der Logikfehler sicher auch auf....
                            Create your own quiz show.

                            Kommentar

                            Lädt...
                            X