Postado Setembro 10, 2013 11 anos Olá pessoal, estou com um problema e preciso da ajuda de vocês ... • Eu fiz umas mudanças no arquivo original do lostaccount.php do gesior para um amigo, porém não esta dando muito certo, o arquivo não esta salvando as novas senhas em sha1. O problema é que eu uso o gesior2012, e no meu esta dando certinho, mas no dele não, ele usa o gesior padrão. Alguém poderia me ajudar? • Aproveitando para tirar uma outra dúvida ... eu mudei nele a forma de etapas, de action=' ' para step=' ', a diferença é que ao invés da url for mudando de etapa em etapa, como acontece na forma actions, a url, usando a forma de steps não muda, fica patrão (subtopic=lostaccount) em todas as etapas. A pergunta é: isso muda algo do script? Como por exemplo segurança? lostaccount.php <?PHP header("Content-Type: text/html; charset=ISO-8859-1",true); #################################### CONFIGURAÇÃO ############################################### $link = '?subtopic=lostaccount'; # url do lostaccount , exemplo: ?subtopic=lostaccount $link2 = '?subtopic=accountmanagement'; # url do acountmanagement , exemplo: ?subtopic=accountmanagement $newplayer = new OTS_Player(); # OLD Gesior = new OTS_Player() / NEW Gesior = new Player() $newpassgesior = password_ency($newpassword); # OLD Gesior = password_ency($newpassword) / NEW GESIOR = $newpassword $step = $_REQUEST['step']; # ################################## INSERIR NOME DO PERSONAGEM E OPÇÃO DE RECUPERAÇÃO ########################################## if($step == '') { $main_content .= '<B>Bem-vindo a Interface de Conta Perdida!</B><BR><BR> Se você perdeu acesso a sua conta, esta interface pode ajudá-lo. Naturalmente, você precisa provar que sua reivindicação para a conta ser recuperada. Digite os dados solicitados e siga as instruções cuidadosamente. Por favor, compreenda não há maneira de obter acesso a sua conta se ela não é registrada.<br><br> Como um primeiro passo para usar a Interface de Conta perdida, digite o nome de uma personagem da conta perdida, selecione a opção de recuperação e clique em "Submit".<BR><BR>'; $main_content .= '<FORM ACTION="'.$link.'" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE="" /> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Por favor coloque o nome do seu personagem</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> <INPUT TYPE=text NAME="nick" VALUE="" autocomplete="off" SIZE="26" MAXLENGTH="25"><BR> </TD></TR> </TABLE><br> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Oque você quer?</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> <INPUT TYPE=radio NAME="step" VALUE="reckey" checked> Tenho a chave de recuperação e quero definir uma nova senha para minha conta.<BR> </TD></TR> </TABLE> <BR> <TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE>'; } ################################## INSERIR CHAVE DE RECUPERAÇÃO ########################################## elseif($step == 'reckey') { $nick = stripslashes($_REQUEST['nick']); if(check_name($nick)) { $player = $newplayer; $account = $newplayer; $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { $main_content .= 'Se você digitar chave de recuperação corretamente, vai ver o formulário para definir uma nova senha para a conta.<BR><br> <FORM ACTION="'.$link.'" METHOD=post> <input type="hidden" name="step" value="newpass"/> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Por favor, coloque sua chave de recuperação.</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"><INPUT TYPE=hidden NAME="nick" VALUE="'.$nick.'" autocomplete="off" MAXLENGTH="25" SIZE="26" readonly="readonly" /> Chave de Recuperação: <INPUT TYPE=text NAME="key" VALUE="" autocomplete="off" MAXLENGTH="10" SIZE="11" /><BR></TD></TR></TABLE> <BR><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18 /></center> </TD></TR></FORM></TABLE></TABLE>'; } else {$main_content .= '<center>A conta deste personagem não tem chave de recuperação!</center><BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="'.$link.'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></TABLE>';} } else {$main_content .= '<center>Personagem ou conta do personagem: <b>'.$nick.'</b> não existe.</center><BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="'.$link.'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></TABLE>';} } else {$main_content .= '<center>Nome de personagem inválido. Se você tiver outros personagens na conta tente com outro nome.</center><BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="'.$link.'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></TABLE>';} } ################################## DEFINIR NOVA SENHA ########################################## elseif($step == 'newpass') { $rec_key = trim($_REQUEST['key']); $nick = stripslashes($_REQUEST['nick']); if(check_name($nick)) { $player = $newplayer; $account = $newplayer; $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { if($account_key == $rec_key) { $main_content .= '<script type="text/javascript"> function validate_required(field,alerttxt) { with (field) { if (value==null||value==""||value==" ") {alert(alerttxt);return false;} else {return true} } } function validate_form(thisform) { with (thisform) { if (verifpass==1) { if (validate_required(passor,"Por favor, defina sua nova senha!")==false) {passor.focus();return false;} if (validate_required(passor2,"Por favor, repita sua nova senha!")==false) {passor2.focus();return false;} if (passor2.value!=passor.value) {alert(\'As senhas não são iguais!\');return false;} } } } </script>'; $main_content .= 'Definir uma nova senha para sua conta.<BR><BR> <FORM ACTION="'.$link.'" onsubmit="return validate_form(this)" METHOD=post> <input type="hidden" name="step" value="changepass"/> <INPUT TYPE=hidden NAME="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <script type="text/javascript">var verifpass=1;</script> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Por favor defina sua nova senha</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> <INPUT TYPE=hidden NAME="nick" VALUE="'.$nick.'" autocomplete="off" SIZE="26" MAXLENGTH="25" readonly="readonly" /> Nova senha: <INPUT id="passor" TYPE=password NAME="new_pass" VALUE="" autocomplete="off" SIZE="31" MAXLENGTH="30"><BR> Repita a nova senha: <INPUT id="passor2" TYPE=password NAME="new_pass2" VALUE="" autocomplete="off" SIZE="31" MAXLENGTH="30" ><BR> <INPUT TYPE=hidden NAME="key" VALUE="'.$rec_key.'"> </TD></TR></TABLE> <BR><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <INPUT TYPE=image NAME="Submit" ALT="Submit" SRC="'.$layout_name.'/images/buttons/sbutton_submit.gif" BORDER=0 WIDTH=120 HEIGHT=18></center> </TD></TR></FORM></TABLE></TABLE>'; } else {$main_content .= '<center>Chave de recuperação errada.</center><BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="'.$link.'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></TABLE>';} } else {$main_content .= '<center>A conta deste personagem não tem chave de recuperação!</center><BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="'.$link.'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></TABLE>';} } else {$main_content .= '<center>Personagem ou conta do personagem: <b>'.$nick.'</b> não existe.</center><BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="'.$link.'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></TABLE>';} } else {$main_content .= '<center>Nome de personagem inválido. Se você tiver outros personagens na conta tente com outro nome.</center><BR /><TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="'.$link.'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></TABLE>';} } ################################## SENHA TROCADA! ########################################## elseif($step == 'changepass') { $rec_key = trim($_REQUEST['key']); $nick = stripslashes($_REQUEST['nick']); $new_pass = trim($_POST['new_pass']); if(empty($new_pass)) {$main_content .= 'Por favor, defina sua nova senha.';} if(empty($new_pass2)) {$main_content .= 'Por favor, repita sua nova senha.';} if(check_name($nick)) { $player = $newplayer ; $account = $newplayer ; $player->find($nick); if($player->isLoaded()) $account = $player->getAccount(); if($account->isLoaded()) { $account_key = $account->getCustomField('key'); if(!empty($account_key)) { if($account_key == $rec_key) { if(check_password($new_pass)) { $account->setPassword($newpassgesior); $account->save(); $main_content .= '<BR> <FORM ACTION="'.$link2.'" onsubmit="return validate_form(this)" METHOD=post> <INPUT TYPE=hidden NAME="character" VALUE=""> <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0 WIDTH=100%> <TR><TD BGCOLOR="'.$config['site']['vdarkborder'].'" CLASS=white><B>Sua conta e sua nova senha</B></TD></TR> <TR><TD BGCOLOR="'.$config['site']['darkborder'].'"> Sua Conta: <b>'.$account->getName().'</b><BR> Nova senha: <b>'.$new_pass.'</b><BR></TD></TR></TABLE></FORM>'; } else {$main_content .= '<center>Formato de senha errado. Use apenas a-Z, A-Z, 0-9</center><br>';} } else {$main_content .= '<center>Chave de Recuperação errada!</center><br>';} } else {$main_content .= '<center>A conta deste personagem não tem chave de recuperação!</center><br>';} } else {$main_content .= '<center>Personagem ou conta do personagem: <b>'.$nick.'</b> não existe.</center><BR />';} } else {$main_content .= '<center>Nome de personagem inválido. Se você tiver outros personagens na conta tente com outro nome.</center>';} $main_content .= '<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%><TR><TD><center> <a href="'.$link.'" border="0"><IMG SRC="'.$layout_name.'/images/buttons/sbutton_back.gif" NAME="Back" ALT="Back" BORDER=0 WIDTH=120 HEIGHT=18></a></center> </TD></TR></FORM></TABLE></TABLE>'; } ################################## FIM ########################################## BY LUANLUCIANO ?> Fico no aguardo de respostas. Obrigado! Editado Setembro 10, 2013 11 anos por luanluciano93 (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.