Daten Desinfektionen ohne Mysql

  • Hallo

    Gibt es auch "Daten Desinfektionen" für PHP selber, dh. ohne Mysql ?

    Ich will was gerne mit Sessions machen/erstellen (lernen)...finde aber nirgends Tutorials/Beispiele für die Daten Desinfektion ohne Mysql.


    Es ist überall nur mit Datenbanken beschrieben (Sql Injection) ...


    P.S. ich bin Anfänger, deswegen ohne Mysql.


    Danke :)  :)

  • Also wenn ich zb. ein Formular mit Session erstelle wie kann ich die Input Felder etc schützen, ohne das jemand auf die dumme Gedanken kommt und sofort alles kaputt macht ? (Wie gesagt, ohne Datenbanken/Mysql etc...)


    Danke :thumbup:

  • Hallo und Danke

    Noch was ...
    Wie kann ich einen Timeout mit PHP erstellen ?? (Login Timeout)

    Zb. wenn jemand länger wie 10 Sekunden nicht navigiert, dann sollte Timeout eingreifen und erneutes Login erfordern `?

  • Clientseitig nur mit Javascript...
    Aber du könntest natürlich seine login ID verfallen lassen.. wie weiß ich nicht aber bestimmt jemand anderes hier.. :)

  • seitens PHP:

    $_COOKIE
    oder
    $_SESSION
    (oder Datenbank, oder Memory).

    Du musst Dir halt irgendwo hinschreiben, wann die letzte Aktion war.
    Dann prüfst Du, ob die letzte Aktion länger her ist, als von Dir gewünscht.
    zB

    PHP
    if( $_SESSION['last_active']+10 < time() ) // wenn *letzter aufruf* + 10 sek kleiner ist als *jetzt*
    {
        // letzer aufruf zu lange her
    }
  • Hi @all

    Ich habe einen Video gesehen, was gar nicht so blöd für meine Hobby Seite wäre... und ich habe es versucht seit heute Morgen, aber klappt nicht bestens..:rolleyes:


    Wie auf dem Video zu sehen ist, nach erfolgreichem Login sollte ein Timeout von X Sekunden aktiviert werden, also wenn ich X Sekunden innerhalb des geschützten Bereich nicht navigiere dann sollte ich automatisch ausgeloggt werden d.h. ich muss mich wieder auf der Startseite einloggen per Formular...


    Hier ein Video http://netzr.de/private/videos/4PnWSr3/


    Ich habe was angefangen , und versucht habe ich es auch wie cottton beschrieben hat per if, aber das funktioniert bei mir nicht. :whistling:



    weiter.php Datei

    PHP
    <!--?php session_start();
    //$host = htmlspecialchars($_SERVER["HTTP_HOST"]);//$uri = rtrim(dirname(htmlspecialchars($_SERVER["PHP_SELF"])),"/");
    if (isset($_POST["benutzer"]) && $_POST["benutzer"] == "neuer" && $_POST["passwort"] == "test2") {	$_SESSION["benutzer"] = "neuer";	$_SESSION["login"] = "ok";	$extra = "../ses2/versteckt.php";} else {	$extra = "../login.php?f=1";}
    header("Location: $extra");
    
    
    
    
     ?>

    versteckt.php Datei



    logout.php Datei


    Wie kann ich es lösen ..wie würdet ihr das machen ...... :rolleyes:


    Danke

    Edit:

    The Scout, ich werde es versuchen..

    Danke dir .. hoffentlich klappt das.. :rolleyes:

    3 Mal editiert, zuletzt von mdm (15. Oktober 2014 um 00:34)

  • Naja, im Grunde geht das wirklich so einfach, wie cotton das beschrieben hat.

    Hier mal ein kleines Skript, wie das aussehen könnte:


    PS: Ich hab übrigens gemerkt, wozu die neue Zeile für geschweifte Klammern gut sein kann ;)

  • "versteckt.php"
    mach sowas nicht. Sowas wird Verschleierung genannt und ist nicht sicher.
    Sicher ist, wenn es "egal" ist, ob es jemand kennt, aber trotzdem keiner "ran" kommt.

    Angenommen Du hast
    - index.php
    - admin.php
    - login.php
    - logout.php

    Dann ruft Nutzer beim Aufruf der URL (http://deine-seite.de) die index.php auf.
    Da drin hast Du Deine Navigation
    "Startseite | Bilder | Admin".

    Auf der Startseite braucht niemand eingeloggt zu sein. Die Bilder darf auch jeder sehen.
    Aber die Seite Admin braucht einen Login.
    Hinter dem Admin-Button ist ein Link zu "admin.php".

    In der admin.php kommt nun eine Prüfung, ob Nutzer eingeloggt ist. Wenn nicht: umleiten zum Login
    admin.php


    Wie The Scout schon sagte: Skript beenden, damit nichts passiert, falls header versagt.
    Aber auch wenn header() funktioniert, wird das Script durch header() nicht beendet.
    Also nach header() immer exit() (sehr selten will man, dass es weiter läuft).

    Der Nutzer landet in der login.php und muss sich anmelden.
    Dort sollte man auch gleich prüfen, ob denn Nutzer schon eingeloggt ist.
    Denn er kann ja die Seite auch manuell aufrufen. Wenn er also schon eingeloggt ist,
    dann kann man zB eine Meldung ausgeben wie: "Du bist schon angemeldet".
    login.php

    Jetzt der Logout-Button:
    Hinter dem Logout-Button ist ein Link zu "logout.php".
    logout.php

    Das wäre ein einfacher Login.
    Jetzt zum Timout:

    In der admin.php baust Du The Scout´s check ein:
    admin.php

    EDIT:
    in der bilder.php (und allen anderen Seiten) musst Du den Zeitstempel "last_action" auch aktualisieren:
    bilder.php

    PHP
    session_start();
    // die last_action setzen zwecks timeout:
    $_SESSION['last_action'] = time(); 
    
    
    
    
    // ...
  • cottton

    Vielen Dank..

    Sorry, dass ich erst jetzt antworte, war too busy..ich werde probieren deinen Beispiel nachzubauen.

    Vielen Dank The Scout und cottton
    Hallo

    Bis jetzt (heute) hatte ich keine Zeit, aber jetzt habe ich es ausprobiert, nur ich habe noch eine Frage

    Durch was genau muss ich "last_action" austauschen ? :whistling:

    Überall "last_action" aber ich sehe keinen Sinn... :rolleyes:

    PHP
    $_SESSION['last_action'] = time();
    
    
    
    
    if (!isset($_SESSION["last_action"]) OR empty($_SESSION["last_action"])
        OR $_SESSION["last_action"] + $diff < $now)
    {
        $_SESSION["last_action"] = $now;

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!