Open Office Bild Verlinkung
lima-city → Forum → Sonstiges → Spam und sonstiges Unvergütetes
bild
bleiben
boxen
code
datei
datenbank
element
email
fehler
header
http
inhalt
login
navigation
radius
tabelle
text
url
vergessen
zeile
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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... -
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 -
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. -
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
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 -
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. -
- 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. -
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 -
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
darum neuer thread:
http://www.lima-city.de/thread/funktionalitaet-email-vergessen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage