McGuyver Postado Novembro 12, 2012 Compartilhar Postado Novembro 12, 2012 (editado) 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 Editado Junho 6, 2017 por McGuyver Atualização do post para a versão 7 do WHMCS 3 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Cassiano Teixeira Postado Novembro 12, 2012 Compartilhar Postado Novembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Andre Juliano Postado Novembro 12, 2012 Compartilhar Postado Novembro 12, 2012 Obrigado pelo Tutorial. Vai me ajudar bastante. 0 Citar WebChamp - Hospedagem de Sites, Revenda de Hospedagem, Revenda de VPS, Servidores Virtuais (OpenVZ / KVM). Link para o comentário Compartilhar em outros sites More sharing options...
Amilton Postado Novembro 12, 2012 Compartilhar Postado Novembro 12, 2012 Valeu, irei testar aqui tão logo tenha um tempinho. Obrigado. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
1040ez Postado Novembro 12, 2012 Compartilhar Postado Novembro 12, 2012 Obrigado McGuyver! Alguém sabe informar se é possível integrar esse autologin com o sistema de tickets? 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
McGuyver Postado Novembro 12, 2012 Autor Compartilhar Postado Novembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
McGuyver Postado Novembro 12, 2012 Autor Compartilhar Postado Novembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
1040ez Postado Novembro 12, 2012 Compartilhar Postado Novembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Amilton Postado Novembro 12, 2012 Compartilhar Postado Novembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
McGuyver Postado Novembro 12, 2012 Autor Compartilhar Postado Novembro 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
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.