Ir para conteúdo
Fórum Script Brasil

Fernando Lima (IPIS)

Membros
  • Total de itens

    29
  • Registro em

  • Última visita

Tudo que Fernando Lima (IPIS) postou

  1. Validar o uso do sistema enquanto o cliente estiver pagando o parcelamento. Assim: Como geralmente os sistemas tem valor superior a um mil reais, eu parcelo, entrego antes do cliente terminar de pagar, assim, preciso liberar o funcionamento do sistema mês a mês até que o cliente complete os pagamentos conforme claúsula contratual que diz que o sistema é de propriedade da minha empresa até que o cliente quite todas as devidas parcelas, ai eu atualizo o sistema para não validar mais, através do envio de uma licença vitalicia. Essa é a idéia, pois tive um sistema roubado (código) recentemente e levei dois calotes mês passado.
  2. Sim, perfeito, contudo, pode ser que o usuário não tenha acesso a net e esta validação apesar de depender da net também terá uma via local (caso não seja identificada a conexão com a net), tipo, lendo um arquivo com as informações que tem no servidor mas armazenado localmente, neste caso eu teria de ficar atualizando ele periodicamente. Assim sendo, na via local, continuo precisando saber acessar este arquivo, algo como em C:Windows\xxx/arquivo.txt, e também precisaria acessar o bootstat.dat pra ler a data de modificação! Ai é que está o meu dilema, pois não posso obrigar o cliente a ter net onde deseja rodar o sistema. Obrigado pelo toque ESerra! Mais alguma sugestão?
  3. Olá! Você tem certeza que é a index.php que recebe o post e trata os dados? Aqui deu certo, ate acrescentando mais campos ao post, so não da quando envio o txtlogin! De repente o problema dever ser ele que é validado no servidor... Não dá pra fazer sem enviar ele?
  4. Olá pessoal, meu primeiro post aqui! Me chamo Fernando e tenho um conhecimento que classifico como médio em PHP, mas agora, desenvolvendo um sistema de validacão que usarei em todos os sistemas que desenvolvo para terceiros aqui na cidade a fim de me proteger de roubo de codigo e etc..., me deparei com um problema: O Problema: Preciso saber a data correta do sistema operacional do servidor ou da máquina em que esta sendo executado o sistema, claro, para impedir que alterações de data no relógio do Windows, por exemplo, burlem o sistema. O que já sei fazer? Sei que o arquivo do Windows, bootstat.dat, como muitos devem saber, grava na sua informação de ultima modificação, a data do sistema quando o usuário efetua login no Windows, assim sendo, pretendo usar a função filemtime() para pegar esta data, isso já é bem melhor que usar date(). :) No que preciso de ajuda? 1) Como acessar este arquivo já que ele está fora do meu httpdocs? 2) Que arquivo usar nesta mesma operação para plataforma Linux? CÓDIGO PRA FACILITAR O ENTENDIMENTO DA FUNCAO: // Verifica se a Validaao esta ligada e se já foi executada nesta sessao If (VAL && !$Executado) { $_SESSION['SQL'] = 'SELECT Token FROM '.SIS_TabSIS.' WHERE SIS = "'.SIS_Titulo.'"'; $Token = MySQL_Resultado('Token') OR Die (MySQL_Erro()); $Token = SIS_Decode($Token); $URL = VAL_Link.'?sID='.SIS_ID; $Curl = curl_init($URL); curl_setopt($Curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($Curl, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($Curl, CURLOPT_USERPWD, $Token); $Retorno = curl_exec($Curl); curl_close($Curl); $Curl_RT = @explode(':', SIS_Decode($Retorno)); If ($Curl_RT[0] == 0) { $RT['Erro'] = 1; // Erro no curl $RT['Data'] = 'Curl'; Return $RT; } /* LICENCA */ $_SESSION['SQL'] = 'SELECT Licenca, Licenca_Tipo, Licenca_Data FROM '.SIS_TabSIS.' WHERE SIS = "'.SIS_Titulo.'"'; If (MySQL_Linhas()) { $RG = MySQL_Array(); // VALIDA OS DADOS DA LICENCA NO DB, SE DIVERGE, ATUALIZA PARA OS DADOS DO SERVIDOR If ( (SIS_Decode($RG['Licenca']) != $Curl_RT[1]) || (SIS_Decode($RG['Licenca_Tipo']) != $Curl_RT[2]) || (SIS_Decode($RG['Licenca_Data']) != $Curl_RT[3])) { $_SESSION['SQL'] = 'UPDATE '.SIS_TabSIS.' SET Licenca = "'.SIS_Encode($Curl_RT[1]).'", Licenca_Tipo = "'.SIS_Encode($Curl_RT[2]).'", Licenca_Data = "'.SIS_Encode($Curl_RT[3]).'" WHERE SIS = "'.SIS_Titulo.'"'; MySQL_Consulta() OR Die (MySQL_Erro()); $_SESSION['SQL'] = 'SELECT Licenca, Licenca_Tipo, Licenca_Data FROM '.SIS_TabSIS.' WHERE SIS = "'.SIS_Titulo.'"'; $RG = MySQL_Array(); } // GRAVA AS INFORMACOES DA VALIDACAO $varData = date('d/m/Y'); $varHora = date('H:i'); // Banco de Dados $_SESSION['SQL'] = 'UPDATE '.SIS_TabSIS.' SET Validacao_Data = "'.SIS_Encode($varData).'", Validacao_Hora = "'.SIS_Encode($varHora).'", Validacao_Retorno = "'.$Retorno.'", Validacao_Status = "'.SIS_Encode($Curl_RT[0]).'" WHERE SIS = "'.SIS_Titulo.'"'; MySQL_Consulta() OR Die (MySQL_Erro()); // Sessao $_SESSION['SIS']['Validacao']['Executado'] = 1; $_SESSION['SIS']['Validacao']['Data'] = SIS_Encode($varData); $_SESSION['SIS']['Validacao']['Hora'] = SIS_Encode($varHora); $_SESSION['SIS']['Validacao']['Status'] = SIS_Encode($Curl_RT[0]); // VALIDACAO $Data_Curl = $Curl_RT[3]; $Data_Curl_TS = Geral_DataTS($Curl_RT[3]); $Data_Hoje_TS = Geral_DataTS(date('d/m/Y')); If ($Data_Hoje_TS > $Data_Curl_TS) { $RT['Erro'] = 3; // Licenca Expirada $RT['Data'] = $Data_Curl; Return $RT; } Else { $RT['Erro'] = 0; $RT['Data'] = 'OK'; Return $RT; } } Else { $_SESSION['SIS']['Validacao']['Executado'] = 0; $RT['Erro'] = 2; // não existe dados na tabela de validacao Return $RT; } } Else { $RT['Erro'] = 0; $RT['Data'] = 'Validado'; Return $RT; } Desde já agradeço qualquer luz.
×
×
  • Criar Novo...