kostenloser Webspace werbefrei: lima-city


Open Office Bild Verlinkung

lima-cityForumSonstigesSpam und sonstiges Unvergütetes

  1. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    Ja ist Klar

    ich noch 2 seite gemacht

    1 Logout

    <?php
                                                mysql_query("DELETE FROM user_online WHERE expire<".time()."");
                                                mysql_query("UPDATE user_online SET expire='".(time()+600)."' WHERE ip='".getenv("REMOTE_ADDR")."'");
                                                if(!mysql_affected_rows()) {
                                                    mysql_query("INSERT INTO user_online (ip,expire) VALUES ('".getenv("REMOTE_ADDR")."','".(time()+600)."')");
                                                }
                                                $result = mysql_query("SELECT count(*) FROM user_online");
                                                echo '<p>'.mysql_result($result,0).' Gesamt Online</p>';
                                            ?>


    Passwort vergessen

    [url]<?php
            if(isset($_POST['submit']) AND $_POST['submit']=='Abschicken'){ 
            // Daten prüfen 
            $errors = array(); 
            if(!isset($_POST['Nickname'])) 
                $errors[] = "Bitte benutzen Sie unser Passwortformular"; 
            else{ 
                if(trim($_POST['Nickname']) == "") 
                    $errors[] = "Geben Sie Ihren Nickname an."; 
                // Nickname suchen 
                $sql = "SELECT 
                            Email 
                        FROM 
                            User 
                        WHERE 
                            Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' 
                            "; 
                $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error()); 
                $row = mysql_fetch_assoc($result); 
                if(!$row) 
                    $errors[] = "Ihr Nickname konnte nicht gefunden werden.\n"; 
            } 
            if(count($errors)){ 
                echo "Ihr Passwort konnte nicht versendet werden.<br>\n". 
                     "<br>\n"; 
                foreach($errors as $error) 
                    echo $error."<br>\n"; 
                echo "<br>\n"; 
                echo "Zurück zum <a href=\"".$_SERVER['PHP_SELF']."\">Formular</a>\n"; 
            } 
            else { 
                // Neues Passwort erstellen 
                $passwort = substr(md5(microtime()),0,8); 
                $sql = "UPDATE 
                            User 
                        SET 
                            Passwort = '".md5(trim($passwort))."' 
                        WHERE 
                            Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' 
                       "; 
                mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error()); 
    
                // Email verschicken 
                $empfaenger = $row['Email']; 
                $titel = "Neues Passwort"; 
                $mailbody = "Ihr neues Passwort lautet:\n\n". 
                            $passwort."\n\n". 
                            "Ihr altes Passwort wurde gelöscht."; 
                $header = "From: webmaster@mywebsolution.de\n"; 
                if(@mail($empfaenger, $titel, $mailbody, $header)){ 
                    echo "Ihr neues Passwort wurde erfolgreich an Ihre Email-Adresse versandt.<br>\n". 
                         "Zurück zur <a href=\"index.php\">Startseite</a>\n"; 
                } 
                // Im Fehlerfall wird die Mailadresse des Webmasters für den direkten Versandt eingeblendet 
                else{ 
                    echo "Beim Senden der Email trat ein Fehler auf.<br>\n". 
                         "Bitte wenden Sie sich direkt an den <a href=\"mailto:webmaster@website.de\">Webmaster</a>.\n"; 
                } 
            } 
        } 
        else{ 
                echo "<form ". 
                     " name=\"Passwort\" ". 
                     " action=\"".$_SERVER['PHP_SELF']."\" ". 
                     " method=\"post\" ". 
                     " accept-charset=\"ISO-8859-1\">\n"; 
                echo "Nickname :\n"; 
                echo "<input type=\"text\" name=\"Nickname\" maxlength=\"32\">\n"; 
                echo "<br>\n"; 
                echo "<input type=\"submit\" name=\"submit\" value=\"Abschicken\">\n"; 
                echo "</form>\n"; 
        } 
    ?>[/url]


    bei den muß ich noch tabelle schreiben das bishen grade steit


    Beitrag zuletzt geändert: 4.2.2013 13:27:00 von tshaika
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. h**s

    1 Logout
    das hat meiner meinung anch nichts mit einem logout zu tun... das zeigt ja nur an wieviel besucher gerade auf der seite sind.



    Passwort vergessen
    das solltest du so nicht machen... denn so könnte ja jeder das passwort eines jeden anderen erneuern, auch wenn der das gar nicht will.
    ich bräuchte mir nur die nicknames der anderen spieler merken und könnte dann alle ihre passwörter erneuern lassen...
  4. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    sorry falsche zeile

    ich bin heute in dauer lauf

    das ist der richtige logout
    <?php  
    
                                          // loggt einen User aus, .. 
                                          function doLogout() 
                                           { 
                                        // .. indem das Cookie und .. 
                                        if(isset($_COOKIE['Autologin'])) 
                                        setcookie("Autologin", "", time()-60*60); 
                                           // .. die Session ID aus der Datenbank gelöscht werden 
                                        $sql = "UPDATE 
                                         User 
                                               SET 
                                               SessionID = NULL, 
                                              Autologin = NULL, 
                                              IP = NULL 
    
                                             WHERE 
                                            ID = '".$_SESSION['UserID']."' 
                                                "; 
                                            mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error()); 
                                            } 
    
                                             // User ausloggen 
                                             doLogout(); 
                                             // $_SESSION leeren 
                                            $_SESSION = array(); 
                                               // Session löschen 
                                             session_destroy(); 
                                             echo "Sie wurden erfolgreich ausgeloggt.<br>\n". 
                                             "Zur <a href=\"index.php\">Startseite</a>\n"; 
                                            ?>


    passwortvergessen

    ja der sendet dan aber auch auf richtige email dazu hat andere benutzer keine zugriff
    oder dui meist soll als kontrolle noch emaile eingeben

    Beitrag zuletzt geändert: 4.2.2013 13:55:02 von tshaika
  5. h**s

    das ist der richtige logout
    ja das sieht schon besser aus...
    warum hier die datenbank-zeile auf NULL gesetzt, und nicht gleich ganz gelöscht wird verstehe ich allerdings nicht.


    ja der sendet dan aber auch auf richtige email dazu hat andere benutzer keine zugriff
    ja aber stell dir vor ein spieler will die anderen ärgern oder hätte einen vorteil wenn er ganz alleine auf der map ist... dann könnte er über die passwort-erinnern funktion alle anderen spieler rausschmeißen bis die zufällig dann ihre emails kontrollieren.
    oder dui meist soll als kontrolle noch emaile eingeben
    das wäre ein anfang, allerdings auch nicht so viel sicherer, denn vielleicht kann ein spieler ja nicht nur die nicknames sondern auch die emailadressen anderer herausfinden.

    sicher wäre es so:
    wenn man auf passwort-erneuern klickt wird erstmal nur eine email an die adresse des inhabers geschickt aber das passwort noch nicht geändert.
    in dieser email steht dann ein code mit dem man die änderung verifizeiren kann - entweder zum eintippen auf deiner webseite oder als ausreichend zufällig generierte adresse zum draufklicken - woraufhin erst dann das passwort erneuert wird.
  6. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    hcms schrieb:
    das ist der richtige logout
    ja das sieht schon besser aus...
    warum hier die datenbank-zeile auf NULL gesetzt, und nicht gleich ganz gelöscht wird verstehe ich allerdings nicht.


    ja der sendet dan aber auch auf richtige email dazu hat andere benutzer keine zugriff
    ja aber stell dir vor ein spieler will die anderen ärgern oder hätte einen vorteil wenn er ganz alleine auf der map ist... dann könnte er über die passwort-erinnern funktion alle anderen spieler rausschmeißen bis die zufällig dann ihre emails kontrollieren.
    oder dui meist soll als kontrolle noch emaile eingeben
    das wäre ein anfang, allerdings auch nicht so viel sicherer, denn vielleicht kann ein spieler ja nicht nur die nicknames sondern auch die emailadressen anderer herausfinden.

    sicher wäre es so:
    wenn man auf passwort-erneuern klickt wird erstmal nur eine email an die adresse des inhabers geschickt aber das passwort noch nicht geändert.
    in dieser email steht dann ein code mit dem man die änderung verifizeiren kann - entweder zum eintippen auf deiner webseite oder als ausreichend zufällig generierte adresse zum draufklicken - woraufhin erst dann das passwort erneuert wird.


    JA du hast Recht das ist sicherere

    8-D

    so ich bin wieder da

    zuerst muß ich dan als stat login dann e-mail ?

    Beitrag zuletzt geändert: 4.2.2013 15:20:25 von tshaika
  7. h**s

    ja.


    vorbereitung:
    1. lege eine tabelle an um dir die verifizierungscodes merken zu können, zum beispiel mit diesen spalten:
    [id] [userid] [verifizierungscode] [anfragezeit]
    2. erstelle eine datei z.b. verifiziere.php die einen code als get-parameter erwartet.

    wenn der besucher auf "passwort vergessen klickt":
    1. einen genügend langen zufallscode generieren.
    2. in die merk-tabelle einen datensatz mit userid, zufallscode und timestamp einfügen.
    3. zugehörige emailadresse des nicknames aus der user-tabelle holen.
    4. an diese emailadresse einen hinweistext und einen link der den zufallscode enthält schicken.
    z.B.: http://tshaika.lima-city.de/verifiziere.php?code=ouj4t74gf35fgnb3q984nfgqjzehrth89jq3

    wenn der besucher auf den link in der email klickt
    1. die verifiziere.php nachschauen lassen ob es diesen code in deiner merktabelle gibt und ob das datum nicht zu alt ist.
    2. wenn erfolgreich ein neues passwort generieren und für den user mit der userid aus der merktabelle eintragen.
    3. die gerade nachgeschaute zeile aus der merk-tabelle löschen.
    4. das gerade erstellte neue passwort wieder an die emailadresse schicken.
  8. kaetzle7

    Moderator Kostenloser Webspace von kaetzle7

    kaetzle7 hat kostenlosen Webspace.

    - Es geht schon längst nicht mehr ums eigentliche Thema
    - Seit fast von Beginn an ist dieser Thread nur noch eine Konversation zwischen 2 Usern - wir sind hier kein Chat
    - Inzwischen hat dieser Thread schon einige Spam-Meldungen bekommen
    - Ihr habt es wirklich übertrieben

    Ihr könnt euch gerne weiter unterhalten, aber nicht mehr im vergüteten Bereich --> verschoben nach Spam.
  9. Autor dieses Themas

    tshaika

    tshaika hat kostenlosen Webspace.

    hcms schrieb:
    ja.


    vorbereitung:
    1. lege eine tabelle an um dir die verifizierungscodes merken zu können, zum beispiel mit diesen spalten:
    [id] [userid] [verifizierungscode] [anfragezeit]
    2. erstelle eine datei z.b. verifiziere.php die einen code als get-parameter erwartet.

    wenn der besucher auf "passwort vergessen klickt":
    1. einen genügend langen zufallscode generieren.
    2. in die merk-tabelle einen datensatz mit userid, zufallscode und timestamp einfügen.
    3. zugehörige emailadresse des nicknames aus der user-tabelle holen.
    4. an diese emailadresse einen hinweistext und einen link der den zufallscode enthält schicken.
    z.B.: http://tshaika.lima-city.de/verifiziere.php?code=ouj4t74gf35fgnb3q984nfgqjzehrth89jq3

    wenn der besucher auf den link in der email klickt
    1. die verifiziere.php nachschauen lassen ob es diesen code in deiner merktabelle gibt und ob das datum nicht zu alt ist.
    2. wenn erfolgreich ein neues passwort generieren und für den user mit der userid aus der merktabelle eintragen.
    3. die gerade nachgeschaute zeile aus der merk-tabelle löschen.
    4. das gerade erstellte neue passwort wieder an die emailadresse schicken.


    Thema verschoben
    113 gulden Abgezogen Scheiße

    hat Jemand wieder gestört oder war einfasuchtig

    ich habe bein text nicht verstanden kannst du bisthen vereinfachen
  10. h**s

    naja, dafür das andere nicht ihren senf dazugeben können wir ja nun mal gar nichts...
    aber das thema hat wohl tatsächlich zu sehr abgeschweift :spammer:

    darum neuer thread:
    http://www.lima-city.de/thread/funktionalitaet-email-vergessen
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!