[Resolvido] Tela branca

Marcado: 

Este tópico contém respostas, possui 2 vozes e foi atualizado pela última vez por  Gofas 2 anos, 7 meses atrás.

  • Autor
    Posts
  • #8427

    No meu caso estou com tela branca.
    Segui as dicas dos comentários anteriores e conferi o fórum, mas nada resolve.
    A minha url gerada é a seguinte:
    https://sitewhmcs.com/auth.php?email=emaildocliente@gmail.com&uid=4&uname=Saulo%20Marinho%20de%20Souza&hash=1c36b75b5efcfdd5b723acd63f142861&whmcsurl=https://sitewhmcs.com/&goto=clientarea.php

  • #8428

    Gofas
    Mestre

    Olá Saulo, bem vindo!
    A tela branca é apenas uma “máscara” do erro real, por favor, ative a exibição de erros e nos envie a mensagem que será exibida no topo da “tela branca”, como descrito neste post:
    https://gofas.net/blog/como-resolver-o-erro-500-tela-branca-e-os-falsos-erros-do-whmcs/.

    O formato do seu link parece correto, é bom revisar várias vezes as chaves pra ter certeza que elas foram distribuídas corretamente nos 3 arquivos: configuration.php, auth.php e gofas_hash_email.php.

    Também é importante lembrar de usar hashs que contenham apenas letras e números, como descrito neste post:
    https://gofas.net/forums/topico/auto-login-nao-retorna-acesso/

    Ative a exibição de erros, confira os detalhes que citei acima e nos avise se deu certo ou não, por favor.

  • #8429

    Pois bem, já tinha realizado o que vc disse anteriormente, mas fui e refiz várias vezes e nada.
    Veja abaixo os arquivos:
    includes/hooks/gofas_hash_email.php

    <?php
    /**
     * Auto Login Hash Merge Tag Email Template
     * @author     Mauricio Gofas | gofas.net
     * @copyright  Copyright (c) 2016 https://gofas.net
     */
    
    if (!defined('WHMCS')) die('This file cannot be accessed directly');
    function gofas_hash_email_template($vars) {
    	$whmcsAdmin							= 1;
    	$invoiceID							= $vars['relid'];
     	$getinvoice							= 'getinvoice';
    	$getinvoiceid['invoiceid']			= $invoiceID;
    	$GetInvoiceResults					= localAPI($getinvoice,$getinvoiceid,$whmcsAdmin);
    	$userID								= $GetInvoiceResults['userid'];
     	$getClient							= 'getclientsdetails';
    	$getClientValues['clientid']		= $userID;
    	$getClientValues['stats']			= true;
    	$getClientValues['responsetype']	= 'json';
    	$getClientResults					= localAPI($getClient,$getClientValues,$whmcsAdmin);
    	$secret_key							= 'da39a3ee5e6b4b0d3255bfef95601890afd80709'; // chave igual à inserida no /auth.php
    	$merge_fields = array();
    	$merge_fields['hash']				= md5($getClientResults['client']['email'].$getClientResults['client']['id'].$getClientResults['client']['firstname'].$getClientResults['client']['lastname'].$secret_key);
    	return $merge_fields;
    }
    add_hook('EmailPreSend',1,'gofas_hash_email_template');
    ?>
    

    configuration.php

    <?php
    $api_access_key = '--------';
    $license = '--------';
    $db_host = 'localhost';
    $db_username = '-------';
    $db_password = '-----';
    $db_name = '-------';
    $cc_encryption_hash = '----------';
    $templates_compiledir = 'templates_c';
    $mysql_charset = 'utf8';
    date_default_timezone_set('America/Sao_Paulo');
    $autoauthkey = 'd41d8cd98f00b204e9800998ecf8427e';
    

    auth.php

    <?php
    /**
     * Auto Login Hash Merge Tag Email Template
     * @author     Mauricio Gofas | gofas.net
     * @copyright  Copyright (c) 2016 https://gofas.net
     */
     
     // Modelo de URL para colar no template de email:
    // {$whmcs_url}auth.php?email={$client_email}&uid={$client_id}&uname={$client_first_name}{$client_last_name}&hash={$hash}&whmcsurl={$whmcs_url}&goto=viewinvoice.php?id={$invoice_id}
    
    $autoauthkey = "d41d8cd98f00b204e9800998ecf8427e"; // chave igual à inserida no arquivo /configuration.php
    $secret_key =  "da39a3ee5e6b4b0d3255bfef95601890afd80709"; // chave igual à inserida no arquivo /includes/hooks/gofas_hash_email.php
    $whmcsurl = $_GET["whmcsurl"].'dologin.php';
    if (md5($_GET['email'].$_GET['uid'].$_GET['uname'].$secret_key) != $_GET['hash']){
    die();
    } 
    $email		= $_GET['email'];
    $timestamp	= time();
    $goto		= $_GET["goto"];
    $hash		= sha1($email.$timestamp.$autoauthkey);
    $url		= $whmcsurl."?email=$email&timestamp=$timestamp&hash=$hash&goto=".urlencode($goto);
    header("Location: $url");
    exit;
    ?>
  • #8433

    Gofas
    Mestre

    A sua edição funcionou pois agora é possível logar com qualquer hash, o if é o trecho do script que verifica se o hash é válido, ou seja, se verifica se o link foi realmente gerado pelo seu whmcs para o seu cliente.

    Provavelmente o erro está apenas na tag que vc adicionou no template de e-mail, ativando a exibição de erros como citei anos vc saberá a causa exata.

  • #8523

    Gofas
    Mestre

    Como não obtivemos mais resposta concluímos que o caso foi resolvido, você pode reabrir o post se ainda tiver algo a acrescentar @saulomarinho.

Você deve fazer login para responder a este tópico.