📄 lostpass.php
字号:
<?php//$lang checkeddefined('WikyBlog') or die("Not an entry point...");global $page,$pageOwner,$lang,$dbObject,$wbConfig;wbLang::getFile('specLostPass');$page->displayTitle = $lang['lost_password'];if( empty($_POST['username']) ){ $_POST['username'] = '';}$dbObject->links[$lang['log_in']] = '/Special/'.$GLOBALS['wbConfig']['pUser'].'/LogIn';$dbObject->links[$lang['register']] = '/Special/'.$GLOBALS['wbConfig']['pUser'].'/Register';$dbObject->links[$lang['lost_password']] = '/Special/'.$GLOBALS['wbConfig']['pUser'].'/LostPassword';$page->formAction = $dbObject->links[$lang['lost_password']];echo '<br/>'.$lang['CHANGE_PASS_INTRO'];switch( $page->userCmd ){ case wbStrtolower($lang['next_step']); changePassTxt(); break; case wbStrtolower($lang['change_password']): changePassword(); break; case wbStrtolower($lang['send_key']); sendKey(); break; case wbStrtolower($lang['back']); default: sendPassTxt(); break; }function sendKey(){ global $pageOwner,$serverName2,$serverName1,$lang,$wbTables; if( empty($_POST['username']) ){ message('ENTER_USERNAME'); sendPassTxt(); return; } // Get Key $query = 'SELECT password, data FROM '.$wbTables['users'].' WHERE username = "'.wbDB::escape(tostorage($_POST['username']) ).'" LIMIT 1'; $result = wbDB::runQuery($query); $num = mysql_num_rows($result); if( $num !== 1){ message('NOT_A_USER',$_POST['username']); sendPassTxt(); return; } $row = mysql_fetch_assoc($result); // email address $temp = unserialize($row['data']); if( empty($temp['email']) ){ message('NO_EMAIL_FOR_ACCOUNT'); sendPassTxt(); return; } // 1) Send Message $to = $temp['email']; $subject = wbLang::text('PASS_EMAIL_SUBJECT',$serverName1); $headers = 'From: <noreply@'.$serverName2.'>'."\r\n"; $message = wbLang::text('PASS_EMAIL_TEXT',$serverName1,$row['password']); if(!@mail($to, $subject, $message, $headers)){ message('PERMISSION_KEY_NOT_SENT'); sendPassTxt(); }else{ message('PERMISSION_KEY_SENT'); changePassTxt(); }}function changePassword(){ global $pageOwner,$wbTables; if( empty($_POST['username']) ){ message('ENTER_USERNAME'); changePassTxt(); return; } if( empty($_POST['pkey']) ){ message('PROVIDE_PERMISSION_KEY'); changePassTxt(); return; } if( empty($_POST['password']) ){ message('PROVIDE_PASSWORD'); changePassTxt(); return; } $_POST['username'] = toStorage($_POST['username']); includeFile('sessionActions.php'); $attempts = checkLoginAttempts($_POST['username']); if( $attempts === false){ changePassTxt(); return; } $update['password'] = md5($_POST['password']); $update['modified'] = 'now()'; $where['username'] = $_POST['username']; //wbDB::escape is done by dbUpdate2 $where['password'] = $_POST['pkey']; $num = wbDB::dbUpdate2($wbTables['users'],$update,$where); if( $num > 1){ trigger_error('Change Password affected more than one user!'); } if( $num === 1){ message('PASSWORD_CHANGED',$_POST['username']); return; } message('PASSWORD_CHANGE_FAILED'); changePassTxt(); updateLoginAttempts(wbDB::escape($_POST['username']),$attempts);}function sendPassTxt(){ global $lang;?><h3><?php echo $lang['get_your_key'] ?></h3><?php echo $lang['GET_YOUR_KEY'] ?><p><table><tr> <td><?php echo $lang['username'] ?>:</td> <td><input type="text" name="username" value="<?php echo htmlspecialchars($_POST['username']) ?>" size="30"/></td> </tr><tr> <td></td> <td><input type="submit" name="cmd" value="<?php echo $lang['send_key'] ?>" /> <input type="submit" name="cmd" value="<?php echo $lang['next_step'] ?>" /></td> </tr></table><?php}function changePassTxt(){ global $pageOwner,$lang;?><h3><?php echo $lang['change_password'] ?></h3><table><tr> <td><?php echo $lang['username'] ?>:</td> <td><input type="text" name="username" value="<?php echo htmlspecialchars($_POST['username']) ?>" size="30"/></td> </tr> <tr> <td><?php echo $lang['permission_key'] ?>:</td> <td><input type="text" name="pkey" value="" size="30" /></td> </tr> <tr> <td><?php echo $lang['new_password'] ?>:</td> <td><input type="password" name="password" value="" size="30" /></td> </tr><tr> <td></td> <td><input type="submit" name="cmd" value="<?php echo $lang['change_password'] ?>" /> <input type="submit" name="cmd" value="<?php echo $lang['back'] ?>" /></td> </tr></table><?php}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -