Passwort ständig abfragen ?

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

  • Passwort ständig abfragen ?

    Hallo Leute,
    zunächst muss ich gestehen, dass ich ein absoluter newbie auf dem php gebiet bin, daher bitte ich um verständliche antworten icon_biggrin.gif
    Hier mein Problem:
    Ich habe mir ein PIN-Zuganssystem gebastelt. (ich generiere durch einen seitenaufruf einen 5 stelligen pin der in eine sql db eingetragen wird, der user gibt diesen pin ein und wird auf eine vorbereitete seite gelenkt)
    Nun suche ich nach einer möglichkeit diesen user durch einen klick wieder auf die eingabeseite zu bringen, so dass er von der pin geschützten seite fliegt.
    tolle erklärung *grübel*
    Ich versuche es mal mit einem anwendungsbeispiel:
    ein anrufer fragt nach einem download, ich gebe ihm eine url und einen dazugehörigen pin, wenn der anrufer mir sagt, der download ist beendet, möchte ich dass er wieder auf die hauptseite "geschmissen wird und sich nicht weiter im downloadbereich aufhält.
    Eine lösung wäre eine permanente abfrage der pin nummer in der datenbank, denn wenn ich eine neue pinnummer generiere wird die alte gelöscht.
    ist so etwas möglich ?

  • #2
    Salut Kowi

    verknüpfe den PIN doch mit einer Session_ID, die du gemeinsam in einer DB speicherst. Sobald er dir sagt, dass der Download beendet ist, kickst du die Session ID aus der DB.
    Mach ein Form wo der User den PIN eingibt, sende dieses an ein Kontrollscript, welches die Gültigkeit prüft und, falls der PIN gültig ist, eine Session eröffnet. Das Kontrollscript soll dann die Session mit dem Pin in die DB eintragen.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      So in etwa ist es jetzt, wobei ich nicht weiss ob die session id in die db eingetragen wird ?
      Problem: selbst wenn die session id gelöscht wird kann der user ja auf der seite bleiben, das möchte ich ja nicht.

      Kommentar


      • #4
        Problem: selbst wenn die session id gelöscht wird kann der user ja auf der seite bleiben, das möchte ich ja nicht.
        warum nicht? ist doch egal, ob der user sich die seite noch 20 stunden anschauen will, ...

        jegliche interaktion des users mit der seite und deinem server (download, etc.) kann doch sowieso nicht stattfinden, da du ihn ja gekickt hast. bei der nächsten aktion (request an deinen server) also, sofern der user nicht soweiso in einen freien bereich wechselt, schiebst du ihn raus.

        dem user einfach so eine seite aufdrängeln geht nicht.
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          gibt es denn keine möglichkeit eine datenbankabfrage mit pinvergleich zu machen die alle 10 sec den pin überprüft und bei falschem pin den user auf eine andere seite bringt ?

          Kommentar


          • #6
            gibt es denn keine möglichkeit eine datenbankabfrage mit pinvergleich zu machen die alle 10 sec den pin überprüft und bei falschem pin den user auf eine andere seite bringt ?
            hallo!?

            wenn der (der browser des) user(s) keinen request an deinen server sendet, kannst du ihm auch keine seite schicken!

            du kannst verhindern, daß er sich weiterhin im download-bereich bewegt, downloads startet, etc. mehr aber nicht.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar


            • #7
              Original geschrieben von derHund
              hallo!?

              wenn der (der browser des) user(s) keinen request an deinen server sendet, kannst du ihm auch keine seite schicken!

              Aus diesem grund hatte ich ja vor eine art schleife zu machen die in bestimmten zeitabständen den pin abfragt, dann wäre doch ein request da, oder bin ich auf dem holzweg ?

              Kommentar


              • #8
                Ich frag mich generell, ob der Aufwand überhaupt in die richtige richtung geht.
                Warum soll der user denn so unbedingt von der Seite verschwinden ?

                Wenn du wirklich nur eine seite speziell für diesen Vorgang erzeugst die nur mit dem PIN und nur für einen bestimmten Download nutzbahr ist, dann seh ich keinen Grund den Benutzer da wieder zu verjagen.

                Und wenn das nur ein Download ist, wieso überhaupt noch eine Downloadseite ?[list=1][*]Benutzer klickt auf Downloadlink[*]Pop-Fenster mit Pinabfrage erscheint[*]Benutzer gibt pin ein und klickt auf absenden[*]empfange Daten prüfen [*]wenn ok dann zuerst neues Popup direkt auf download und zweitens das 1. Popup schließen[*]nach download ist der besucher wieder auf Hauptseite, da er die ja nie velassen hat[/list=1]

                kann aber auch sein das ich das Grundproblem nicht verstanden hab... hab dein Startposting 3mal lesen müssen.

                Kommentar


                • #9
                  Aus diesem grund hatte ich ja vor eine art schleife zu machen die in bestimmten zeitabständen den pin abfragt, dann wäre doch ein request da, oder bin ich auf dem holzweg ?
                  wie wolltest du diese schleife realisieren?
                  - mit javascript? was soll geschehen, wenn es deaktiviert ist?
                  - mit php? wie das? und wie willst du an die pin des users kommen, wenn er sie dir nicht schickt?

                  sag mir doch mal bitte, was der sinn hinter der sache sein soll? warum willst du nicht, daß sich der user die seite weiterhin anschaut? er könnte auch einen scrennshot machen oder die seite speichern?

                  was ist der sinn hinter deinem anliegen?

                  wenn der user dir sagt, der download sei beendet (warum sollte er das tun?), ist es doch total egal, ob er sich die seite weiterhin anschaut!?

                  erneut downloaden oder den geschützen bereich weiterhin durchbrowsen kann er doch sowieso nicht, da sein pin ungültig ist und er bei jeder weiteren anfrage die startseite (o.a.) zu sehen kriegt!
                  Zuletzt geändert von derHund; 15.09.2004, 19:37.
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar


                  • #10
                    okay vielleicht ein blödes anwendungsbeispiel, nehmen wir etwas anderes.
                    kunde ruft an (z.B. eine 0190er nummer), bekommt eine pin und so lange er am telefon ist, darf er eine webcamübertragung sehen, legt er auf, soll er wieder auf die hauptseite, weil er ja dann nicht mehr zahlt.


                    und wie ich diese schleife realisieren soll ist ja meine eigentliche frage....

                    Kommentar


                    • #11
                      Salut Kowi

                      Problem: selbst wenn die session id gelöscht wird kann der user ja auf der seite bleiben, das möchte ich ja nicht.
                      Nein das kann er eben nicht. Du schreibst dir ein Kontrollscript, welches in die Datei eingebunden wird, die den Download enthält. Dieses Script kontrolliert mit der SessionID (kriegst du ja über den Query_String) die zugehörige Pin (DB Abfrage mittels select pin where id=session_id). Wenn du jetzt die Session noch mit einem timeout versiehst, dann solltest du auf der sicheren Seite sein. 15 min sollten für einen Download reichen (nur wenn du nicht deine ganze Filmsammlung zum Download anbieten willst )
                      Klickt der User nun auf den Download, obwohl seine Session ausserhalb der timeouts liegt, dann sorgt eine entsprechende Abfrage dafür, dass die Ausführung mittels die beendet wird.

                      Als letztes kannst du dein Kontrollscript so anpassen, dass bei jedem Klick auf einen Link (innerhalb des timeouts), das timeout der Session in der DB angepasst wird (so fliegt der User wirklich erst nach 15 min der Inaktivität raus).



                      kunde ruft an (z.B. eine 0190er nummer), bekommt eine pin...
                      In diesem Falle ist es noch einfacher: Wenn du Einmalschlüssel (Pin) verwendest. Dann trage den Pin, wenn der Kunde an der Stripe hängt, in die DB ein und das Script prüft nur noch ob der Pin vorhanden ist. Wenn der Kunde auflegt, dann putzt du den Pin mittels PHPmyadmin aus der DB.

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        In diesem Falle ist es noch einfacher: Wenn du Einmalschlüssel (Pin) verwendest. Dann trage den Pin, wenn der Kunde an der Stripe hängt, in die DB ein und das Script prüft nur noch ob der Pin vorhanden ist. Wenn der Kunde auflegt, dann putzt du den Pin mittels PHPmyadmin aus der DB.

                        Gruss

                        tobi [/B]
                        Hallo tobi, wie man die sache mit dem download lösen kann ist klar, ein kleiner session destroy nach dem downloadlink erfüllt seinen zweck.
                        zu deiner zweiten antwort, es ist schon so dass nach dem auflegen der pin aus der datenbank verschwindet und durch einen neuen ersetzt wird, aber wie schaffe ich es, dass der user dann die cam übertragung nicht mehr sieht.
                        wie vorher schon angesprochen ist ein request vom browser nötig um zu erkennen dass die session bzw der pin abgelaufen ist ....

                        vielleicht hilft als erklärung folgende seite:
                        http://www.in-micropay.de/webcall/pa...stauswahl.html
                        hier arbeitet so ein script, nur dass ich es gern manuell machen würde wenn der user auflegt

                        Kommentar


                        • #13
                          Original geschrieben von Kowi
                          okay vielleicht ein blödes anwendungsbeispiel, nehmen wir etwas anderes.
                          kunde ruft an (z.B. eine 0190er nummer), bekommt eine pin und so lange er am telefon ist, darf er eine webcamübertragung sehen, legt er auf, soll er wieder auf die hauptseite, weil er ja dann nicht mehr zahlt.


                          und wie ich diese schleife realisieren soll ist ja meine eigentliche frage....
                          Ist das jetzt das devinitiv letzte "Anwendungsbeispiel" oder kommen da noch andere ?

                          Jedenfalls ist es so. Schleifen kannst du Serverseitig so viel ausführen wie du willst (allerdings nicht mit PHP..eher ein Cron-JOB). Wenn ein Client vom Server keine weitere Seite anfordert, und wie Hund bereits sagt JavaScript deaktiviert hat, dann kannst du ihn nicht "umleiten".

                          Und sicherheisthalber nochetwas anderst ausgedrückt

                          Du kannst mit PHP etwas verhindern oder zulassen wenn ein besucher eine Seite anfordert. Wenn er sie dann jedoch hat ist sie definitiv bei ihm. Und nur wenn du ihm javascriptcode mitschickst das auf SEINEM Rechner ausgeführt wird, kannst du noch handeln. Da bist du allerdings auf die Unwissenheit bzw. Gnade des Besuchers angewiesen, denn auf JavaScript kann man sich bei kommerziellen Lösungen nicht verlassen ...

                          Wenn du also sicher gehen willst, das für bestimmte "Showeinlagen" auch gezahlt wird, so musst du dafür sorgen, das ohne regelmäßige Authorisierung vom Server der Datenstrom zum Client unterbrochen wird. Wie du das nun wieder machst hängt von den verwendeten Applikationen ab.

                          Auf der Seite die du da anführst erledigt dies nicht etwa PHP sondern eine Severseitige Applikation, deren Ein- und Ausgaben nur über PHP abgewickelt werden.

                          Kommentar


                          • #14
                            @Kowi
                            Wenn der User auflegt, dann ziehst du einfach den Stecker deiner Webcam raus

                            Gruss + Schluss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              Original geschrieben von tezet

                              Wenn du also sicher gehen willst, das für bestimmte "Showeinlagen" auch gezahlt wird, so musst du dafür sorgen, das ohne regelmäßige Authorisierung vom Server der Datenstrom zum Client unterbrochen wird. Wie du das nun wieder machst hängt von den verwendeten Applikationen ab.

                              Auf der Seite die du da anführst erledigt dies nicht etwa PHP sondern eine Severseitige Applikation, deren Ein- und Ausgaben nur über PHP abgewickelt werden.
                              Nun ja anwendungsbeispiele gibt es da viele *g*
                              da sich die unterbrechung des datnstroms mit meinen kenntnissen nicht realisieren lässt, dachte ich ja an ein php script.
                              Vielleicht bestünde ja die möglichkeit einen frame aufzurufen der mit einem metarefresh ein abfragescript ständig wiederholt und bei gelöschter PIN wieder die pin eingabe aufruft....
                              aber so wie es aussieht komm ich dann wohl auf die "stecker-rauszieh-methode" zurück

                              Kommentar

                              Lädt...
                              X