001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
<?php
include('config.php');

   
error_reporting(E_ALL);
   
ini_set("display_errors"true);
   
$message "";
 
if(isset(
$_GET['code'])) { 
   
$sicherheitscode$_GET['code'];
   
$code mysqli_real_escape_string($mysqli$sicherheitscode);
            
$query "SELECT * FROM users 
                      WHERE passwortcode = '
$code'";          
            
$result mysqli_query($mysqli$query)    or die ("MySQL-Error: " mysqli_error($mysqli));
            if (
mysqli_num_rows($result)){       
   
                   while (
$row mysqli_fetch_assoc($result)){       
                       
$id htmlspecialchars($row['id']);   
                       
$email htmlspecialchars($row['email']);  
                       
$sendetime htmlspecialchars($row['passwortcode_time']);  
                       
$jetzt=time('U');
                       
$nochtime=$jetzt-$sendetime;
                       
$wert=$gultigtime-$nochtime;
                          
                       if(
$wert>=1){
                           
$message.="Email zum code gefunden gefunden <br>";

                           die(
"<title>  Gebe deine neues Passwort ein </title>
                           <span data-wert='
$wert' id='rest'></span>
                           <script>
                           
                            var timeleft = 
$wert
                            berechne(timeleft);                        
                            function berechne(timeleft){
                                   hour = Math.floor(timeleft / 3600);
                                   minute = Math.floor((timeleft%3600) / 60);
                                   second = Math.floor(timeleft%60);

                                   if ( hour < 10 ) {
                                          hour = '0'+hour;
                                   }
                                   if ( minute < 10 ) {
                                          minute = '0'+minute;
                                   }
                                   if ( second < 10 ) {
                                          second = '0'+second;
                                   }
                                   document.getElementById('rest').innerHTML='Dein Code ist noch '+hour+' : '+minute+' : '+second+' Stunden Gültig';
                                   timeleft--;
                                   setTimeout(function(){berechne(timeleft)},1000);
                            }
                            </script>
                            <form action='passwort-vergessen.php' method='POST'><input name='security' type='hidden' value='"
.$sicherheitscode."'><input type='text' name='newpw'><input type='submit' value='Passwort ändern'><h3>Gebe ein neues Passwort ein</h3>");
                       }else{
                            die(
"<title>Error vertifivierungscode</title>Der vertifizierungscode ist nicht mehr gültig,fordere einen neuen an<br><a href='passwort-vergessen.php'>Passwort vergessen</a>");
                       }
                  }
            } else{
                   
$message.="Konnte kein korrekten code finden";
            }
}   
   

if(isset(
$_POST['newpw']) AND isset($_POST['security'])) { 
            
$sicherung mysqli_real_escape_string($mysqli$_POST['security']);
            
$passwortneu mysqli_real_escape_string($mysqli$_POST['newpw']);
            
$password password_hash($passwortneuPASSWORD_DEFAULT);
            
$query "UPDATE `users` 
                     SET `passwort` ='
$password',
                     `passwortcode` ='0'
                     WHERE `passwortcode`='
$sicherung'";
 
            
$result mysqli_query($mysqli$query)    or die ("MySQL-Error: " mysqli_error($mysqli));    
            if(
mysqli_affected_rows($mysqli) > 0){
                 die(
"<title>Dein neues Passort wurde gespeichert</title>Neues Passwort wurde gespeichert<br><a href='login.php'>Zum Login</a>");
            }else{
                 
$message.="Dein Passwort konnte nicht  geändert werden.<br>";
            }
}
   

function 
random_string() {
    if(
function_exists('random_bytes')) {
         
$bytes random_bytes(16);
         
$str bin2hex($bytes); 
    } else if(
function_exists('openssl_random_pseudo_bytes')) {
         
$bytes openssl_random_pseudo_bytes(16);
         
$str bin2hex($bytes); 
    } else if(
function_exists('mcrypt_create_iv')) {
         
$bytes mcrypt_create_iv(16MCRYPT_DEV_URANDOM);
         
$str bin2hex($bytes); 
    } else {
         
$str md5(uniqid('euer_geheimer_string'true));
    } 
         return 
$str;
}


if(isset(
$_GET['send']) ) {
    if(!isset(
$_POST['email']) || empty($_POST['email'])) {
         
$message.="Bitte eine E-Mail-Adresse eintragen<br>";
    } else {
         
$email mysqli_real_escape_string($mysqli$_POST['email']);
         
$query "SELECT * FROM users
                   WHERE email = '
$email'";          
         
$result mysqli_query($mysqli$query)    or die ("MySQL-Error: " mysqli_error($mysqli));
         if (
mysqli_num_rows($result)){       
              while (
$row mysqli_fetch_assoc($result)){       
                    
$id htmlspecialchars($row['id']);   
                    
$email htmlspecialchars($row['email']);  
                    
$name htmlspecialchars($row['name']);    
                    
$message.="Email gefunden <br>";
                    
$passwortcode random_string();
                    
$id mysqli_real_escape_string($mysqli$id);
                    
$time=mysqli_real_escape_string($mysqlitime('U'));
                    
$co=mysqli_real_escape_string($mysqlisha1($passwortcode));
                    
$query "UPDATE `users` 
                              SET `passwortcode` ='
$co',
                                  `passwortcode_time` = '
$time'
                              WHERE `id`='
$id'";
                    
$result mysqli_query($mysqli$query)    or die ("MySQL-Error: " mysqli_error($mysqli));    
                    if(
mysqli_affected_rows($mysqli) > 0){
                       
$message.="Passwort Code eingetragen<br>";
                    }else{
                       
$message.="Passwort code Nix geändert<br>";
                    }
 
                    
$empfaenger $email;
                    
$betreff "Neues Passwort für deinen Account auf <a href='http://soforthilfe-forum.de'>http://soforthilfe-forum.de</a>";
                    
$from "From: Vorname Nachname <soforthilfe-forum.de>";
                    
$url_passwortcode 'http://sebastian1012.bplaced.net/homepagebasti1012/forumscripteaugust2018/nachrichtensystem1/php/passwort-vergessen.php?userid='.$id.'&code='.$co;
                    
$text 'Hallo '.$name.',
                    für deinen Account auf <a href="http://soforthilfe-forum.de">http://soforthilfe-forum.de</a> 
                    wurde nach einem neuen Passwort gefragt. Um ein neues Passwort zu vergeben, rufe innerhalb der nächsten 24 Stunden die folgende Website auf:
                    <a href="'
.$url_passwortcode.'">'.$url_passwortcode.'</a>
                    Sollte dir dein Passwort wieder eingefallen sein oder hast du dies nicht angefordert, so bitte ignoriere diese E-Mail.
                    Viele Grüße,
                    dein <a href="http://soforthilfe-forum.de">http://soforthilfe-forum.de</a> Team'
;
                    
mail($empfaenger$betreff$text$from);
                    die(
"Ein Link um dein Passwort zurückzusetzen wurde an deine E-Mail-Adresse gesendet.<br><a href='login.php'>Loggin</a>"); 
              }
          }else{
                 
$message.="Email wurde nicht gefunden<br>";
          }
     }
}
?>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link href="../css/style.css" rel="stylesheet" title="Style" />
        <title>Passwort vergessen</title>
        <style>
     input{
     height:30px;
     width:200px;
     border-radius:10px;
     font-size:24px;
     box-shadow:2px 2px 2px black;
     margin-bottom:10px;
     }   
        form{
        width:80%;
        margin:0 auto;
        border:2px solid black;
             box-shadow:2px 2px 2px black;
                  border-radius:10px;
                  text-align:center;
        }
        h3{
           text-align:center;
           padding:10px;
     
        display:block;
        }
        label{
        text-align:center;
        padding:8px;
        }
        </style>
    </head>
    <body>
        <div class="header">
                <a href="<?php echo $url_home?>"><img src="../images/logo.png" alt="Members Area" /></a>
        </div>
        <h1>Passwort vergessen</h1>
 
<?php
if(isset($message) && !empty($message)) {
echo 
$message;
}
?>

<form action="?send=1" method="post">
<h3>Gebe deine email Adresse ein um ein neues Passwort zu erhalten</h3>
<label>E-Mail eingeben:</label><br>
<input type="email" name="email" value="<?php echo isset($_POST['email']) ? htmlentities($_POST['email']) : ''?>"><br>
<input type="submit" value="Neues Passwort">
</form>
 
<input type="hidden" value="brillantreizenderbussard@muellemail.com" size="111">
<br><br>
</body>
</html>