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 `?

  • 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:

  • 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!