McGuyver Posted November 12, 2012 Share Posted November 12, 2012 (edited) Galera, depois de muito bater a cabeça para tentar colocar em funcionamento (com segurança) o módulo de Autologin do tópico à seguir ( http://portaldohost....?showtopic=4420 ), resolvi seguir por outro caminho. A usuária Patty, que postou no mesmo tópico, deu uma dica sobre um outro sistema de Autologin ( http://portaldohost....t=40#entry75982 ), que eu achei bem interessente, entretanto tive que fuçar bastante para que ele funcionasse adequadamente. Por esse motivo (e por muita gente ainda continuar postando naquele tópico por não conseguir fazer a coisa toda funcionar), resolvi criar um tutorial para colocar em funcionamento esse sistema de Autologin para o WHMCS. Colocarei abaixo partes traduzidas (em tradução livre,claro :-D) do post do blog da WHMCSJet (http://www.whmcsjet....in-whmcs-email/), que desenvolveu o referido módulo. Caso encontrem algum problema, por favor me informem para que eu corrija, OK? Vamos lá.... Em primeiro lugar, vá para o admin do WHMCS. Coloque o mouse em Opções (Options) e clique em Modelos de Email (Email Templates). Clique no modelo no qual deseja colocar o link do autologin, para acesso direto à fatura, por exemplo. Vamos utilizar como exemplo o modelo "Invoice Created". Acescente as linhas abaixo para gerar o link seguro no template. Vamos simplesmente adicionar um parâmetro que chamaremos de "hash" e utilizar o plugin 'cat' do Smarty: Você poderá acessar sua fatura clicando no link abaixo: {assign var='hash' value=$client_email|cat:"Sua_Chave_Secreta_AQUI"} {$whmcs_url}/autologin.php?email={$client_email}&invoice={$invoice_num}&hash={$hash|md5} Iremos checar esse parâmetro especial diretamente no servidor, através do script autologin.php. Para isso crie um arquivo chamado autologin.php e coloque o conteúdo abaixo. Grave-o e envie-o para a raiz da sua pasta WHMCS, por exemplo, '/public_html/meu_whmcs/' : <?php # Define WHMCS URL & AutoAuth Key $whmcsurl = "http://seudominio.com.br/seu_whmcs/dologin.php"; #Substitua aqui o seu dominio e a pasta do seu WHMCS # Evite o uso de caracteres diferentes de letras (maiusculas e minusculas) e numeros nas variaveis abaixo: $autoauthkey = "sUa_ChaVE_dE_sEguRanCA_AquI"; #AutoAuth Key, ATENCAO: devera ser definida tambem no arquivo configuration.php! $secret_key = "Sua_Chave_Secreta_AQUI"; #Deve ser a mesma definida no Modelo de Email (Email Template) if (md5($_GET['email'].$secret_key) != $_GET['hash']) die(); //Encerrando aqui porque o hash nao esta correto $timestamp = time(); # Pega o horario atual $email = $_GET['email']; # Email do Cliente para o Login # A linhas abaixo esta desativada tambem: # $goto = "clientarea.php"; # Aqui voce pode definir a sua pagina padrao # Abaixo foi definida como pagina padrao a fatura desejada. Poderia ser utilizada outra pagina, como na linha comentada acima. $goto = "viewinvoice.php?id=".$_GET['invoice']; $hash = sha1($email.$timestamp.$autoauthkey); # Gera o Hash # Gera a URL do AutoAuth & Redireciona $url = $whmcsurl."?email=$email×tamp=$timestamp&hash=$hash&goto=".urlencode($goto); header("Location: $url"); exit; ?> Agora acrescente no seu arquivo configuration.php a seguinte linha, alterando a sua chave de segurança e colocando a mesma definida no arquivo 'autologin.php': $autoauthkey = 'sUa_ChaVE_dE_sEguRanCA_AquI'; (Atualização em 06/06/2017) Caso esteja utilizando o WHMCS na versão 7.x adicione as linhas abaixo no arquivo configuration.php, logo após a linha citada acima, conforme dica do @chuvadenovembro: // Politica de modelo de email personalizada: $smarty_security_policy = array( 'mail' => array( 'php_modifiers' => array( 'escape','count','md5' ), ), ); Para facilitar estou anexando aqui o arquivo autologin.php. Basta editá-lo e alterar as linhas informadas. Espero que isto aqui ajude muita gente, assim como está me ajudando. Caso tenham dúvidas ou problemas, por favor me informem, e caso gostem, dê um "UP" no post!!! Hehehehe... ;-) P.S.: Esse arquivo já está com a atualização para a versão 5.x, conforme informado pelo update no blog da WHMCSJet. Para usuários de versões anteriores há a necessidade do plugin 'concat' do Smarty e alteração na linha do template de '|cat:' para '|concat:'. autologin.php Edited June 6, 2017 by McGuyver Atualização do post para a versão 7 do WHMCS 3 Quote Link to comment Share on other sites More sharing options...
Cassiano Teixeira Posted November 12, 2012 Share Posted November 12, 2012 Ao citar a entrada no configuration.php $autoauthkey = 'sUa_ChaVE_dE_sEguRanCA_AquI' Faltou o ";" no final e me deixou apreensivo por 5 minutos até identificar o porque meu sistema não estava carregando ;) Excelente explicação, simples e objetiva. Abraço! 1 Quote Link to comment Share on other sites More sharing options...
Andre Juliano Posted November 12, 2012 Share Posted November 12, 2012 Obrigado pelo Tutorial. Vai me ajudar bastante. 0 Quote WebChamp - Hospedagem de Sites, Revenda de Hospedagem, Revenda de VPS, Servidores Virtuais (OpenVZ / KVM). Link to comment Share on other sites More sharing options...
Amilton Posted November 12, 2012 Share Posted November 12, 2012 Valeu, irei testar aqui tão logo tenha um tempinho. Obrigado. 0 Quote Link to comment Share on other sites More sharing options...
1040ez Posted November 12, 2012 Share Posted November 12, 2012 Obrigado McGuyver! Alguém sabe informar se é possível integrar esse autologin com o sistema de tickets? 0 Quote Link to comment Share on other sites More sharing options...
McGuyver Posted November 12, 2012 Author Share Posted November 12, 2012 Ao citar a entrada no configuration.php $autoauthkey = 'sUa_ChaVE_dE_sEguRanCA_AquI' Faltou o ";" no final e me deixou apreensivo por 5 minutos até identificar o porque meu sistema não estava carregando ;) Excelente explicação, simples e objetiva. Abraço! Ops... Vacilei feio!!! :-D Valeu mesmo pelo toque, Cassiano.... Já corrigi o post! ;-) 0 Quote Link to comment Share on other sites More sharing options...
McGuyver Posted November 12, 2012 Author Share Posted November 12, 2012 Obrigado McGuyver! Alguém sabe informar se é possível integrar esse autologin com o sistema de tickets? De que forma você pretende integrar? Acho que não entendi bem o que você precisa... 0 Quote Link to comment Share on other sites More sharing options...
1040ez Posted November 12, 2012 Share Posted November 12, 2012 De que forma você pretende integrar? Acho que não entendi bem o que você precisa... Para a visualização do ticket de suporte com o login da conta do cliente realizado, facilitando a resposta do mesmo. Sei que existe a opção de colocar o canal de atendimento visível para todos, assim como habilitar a resposta sem a conta do cliente, mas também ficaria visível para qualquer pessoa visualizar e responder o chamado em nome do cliente... 0 Quote Link to comment Share on other sites More sharing options...
Amilton Posted November 12, 2012 Share Posted November 12, 2012 Aqui pra mim não funfou, com certeza fiz algo errado pois o que chega no e-mail não é o link completo: Você pode ver e pagar a fatura acessando o link abaixo: /autologin.php?email=&invoice=&hash= Poderiam me dar uma luz, pois segui o tutorial, porém acho que falta alguma coisa. Versão do WHMCS 5.1.2 Fiquem com DEUS. 0 Quote Link to comment Share on other sites More sharing options...
McGuyver Posted November 12, 2012 Author Share Posted November 12, 2012 Dá uma olhadinha no Template e verifica se está assim mesmo o começo da linha: {$whmcs_url} Essa variável é interna do sistema. Provavelmente você pode digitado alguma coisinha errada... Verifica aí de novo, por favor! ;-) 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.