Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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:&nbsp;&nbsp;&nbsp;&nbsp;<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:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT id="passor" TYPE=password NAME="new_pass" VALUE="" autocomplete="off" SIZE="31" MAXLENGTH="30"><BR>
                     Repita a nova senha:&nbsp;&nbsp;<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:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>'.$account->getName().'</b><BR>
                            Nova senha:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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 por luanluciano93 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Imperius
      Olá, pessoal! Acabei encontrando um script que tinha feito a um tempo atrás. Estou compartilhando aqui para quem quiser usar ou melhorar.
       
      É bem parecido com os outros sistemas de roleta, igual deste tópico: https://tibiaking.com/forums/topic/101557-action-cassino-roleta-de-items/
       
      Como funciona?
       
      O "Treasure Chest" é um item custom, onde o jogador têm a possibilidade de ganhar itens raros ou bem meia boca. Tudo dependerá da sorte.
       
      O jogador precisa tacar o treasure chest na bancada e acionar a alavanca. O treasure chest irá se transformar em vários itens de forma randômica no qual o jogador poderá ou não ganhar. No final, apenas um item é entregue ao jogador.
       
      Para entender melhor o seu funcionamento, segue o GIF abaixo:
       

       
       
      em data > actions > actions.xml
       
       
      em data > actions > scripts > crie um arquivo chamado leverTreasureChest.lua
       
       
      no banco de dados do servidor, adicione o seguinte código em "SQL":
       
       
       

      Também estou disponibilizando uma página PHP, para quem quiser usar no site do servidor. Na página tem informações sobre o funcionamento, quais são os possíveis prêmios e a lista de jogadores que ganharam os itens raros.
       

       
       
      Espero ter ajudado de alguma forma! : )
       
      treasure_chest.php
    • Por ILex WilL
      Olá, Alguém poderia me ajudar com uns Scripts? nem que seja cobrando, dependendo eu pago para me ajudar...
    • Por Kill of sumoners
      Boa noite, estou com um erro ao atacar um player em meu sv eu nao pego pk, nem sai magia, aparece a mensagem "voce so pode usar isso em criaturas"
      obs: magia em area acerta e pega pk, apenas as targets ou hits de arma nao vao 
    • Por 4Marsupilami
      I present my newest beautiful and tasty layout called Silver brown cake. If you are interested in a unique layout, write to me on discord.
       
      • E-mail: [email protected]
      • Discord: 4Marsupilami#1243
       
       


    • Por 4Marsupilami
      I present my newest beautiful and tasty layout called Glacial. If you are interested in a unique layout, write to me on discord.

      • E-mail: [email protected]
      • Discord: 4Marsupilami#1243
       
       


×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo