Valdir Posted May 7, 2015 Report Share Posted May 7, 2015 Pessoal... Com o advento da NFe, todos são obrigados a ter e a usar a Internet. Aproveitando essa necessidade, coloquei no meu sistema uma trava que diariamente avalia se existe um arquivo ".ini" no meu FTP e dentro deste arquivo, informo a data de validade do sistema. Se algum cliente não pagar, é só eu trocar a data dentro deste arquivo que o sistema para de funcionar. Até ai blz, depois de vários testes no meu servidor local e servidor da internet, ficou perfeito. Implantei em todos os meus clientes e inicialmente deu tudo certo. Infelizmente, alguns "ténikos" de rede, decidem alterar as configurações de acesso à internet de meus clientes, bloqueando a porta 21 que dá acesso ao FTP. Ai,,, fundiu-se né... O Sistema trava por não conseguir visualizar esse arquivo ".ini" no meu FTP. Bom... perguntar não ofende, então lá vai. kkkkkkkkkkkkkk Gostaria de saber dos amigos se existe alguma forma de programar no meu sistema, uma função para reconfigurar esse tipo de informação automaticamente toda vez que o meu sistema é acessado ? Ou existe alguma outra forma de tratar isso ? Obrigado. Ronaldbuch 1 Quote Link to comment Share on other sites More sharing options...
HASA Posted May 7, 2015 Report Share Posted May 7, 2015 Boa noite, da uma olhada nesse post http://www.pctoledo.com.br/forum/viewtopic.php?f=4&t=15530&p=92072&hilit=download+de+arquivo#p92072 HASA Quote Link to comment Share on other sites More sharing options...
sistem Posted May 8, 2015 Report Share Posted May 8, 2015 Ola Valdir, eu usava da mesma maneira que o senhor.... tive problemas com a porta 21 bloqueada ou caso o servidor ftp tiver o maximo de usuarios ou problema no host ftp... dai travava na consulta ftp o sistema. alem dos problemas e como tive meus fontes furtados... tive que alterar a maneira de fazer isto... seria mais ou menos assim TRY oOle := CreateObject( "Microsoft.XMLHTTP" ) oOle:Open( "GET", "http://www.sistem.net.br/licenca/b"+strtran(dtos(Date()),"/","")+".html", .f. ) // ex: bloquear b20150210.html /// aqui nao fica dependedo dos cookies do navegador oOle:Send() cBuf := oOle:ResponseBody CATCH Return nil END nFound0 := at(Alltrim(Empr->Cha_Empr)+".lcn", cBuf) ... ,, , dentro do arquivo HTML teria a(s) chave(s) que vc gostaria de bloquear (como fosse arquivo texto) // no caso seu sistema teria um campo para pôr esse chave se interessar me chame no email suporte@sistem.net,br que passo o procedimento completo para o amigo ftp nao ser bom para esse proposito []s flgc 1 Quote Link to comment Share on other sites More sharing options...
marcioe Posted May 8, 2015 Report Share Posted May 8, 2015 Amigos, eu como uso o MYSQL, fiz de forma diferente.Tenho um banco de dados hospedado na hotgator, que tem os cadastros dos meus clientes com o nome e CNPJ, e tenho uma tabela com os boletos deles. Então o que fiz foi uma rotina que a cada 45 dias ele tem que validar uma chave, que o proprio sistema vai no banco de dados da hostgator, vê se o cliente esta em dia, se sim ele gera a contra-chave caso contrario ele avisa que tem $$ em aberto. No meu caso funciona 100%. Eu postei a um tempão isso, mas nao consegui achar mais aqui sobre o assunto. Quote Link to comment Share on other sites More sharing options...
Valdir Posted May 8, 2015 Author Report Share Posted May 8, 2015 Amigos... Obrigado pelas respostas. Amigo Sistem lhe enviei um email. abraçõs. Quote Link to comment Share on other sites More sharing options...
Valdir Posted May 14, 2015 Author Report Share Posted May 14, 2015 Pessoal... Por favor, alguém saberia me dizer porquê quando atualizo uma página no meu site, a página anterior é a que continua sendo mostrada.? Vejam nesse exemplo: oHttp := CreateObject( 'Microsoft.XMLHTTP' ) oHttp:Open("GET","http://www.fivesolutions.com.net/logsys.html",.f.) oHttp:Send() cResp1 := oHttp:ResponseText() ? cResp1 Mando a página logsys.html para o meu Servidor de Internet. Até ai blz, funfa direitinho. Porem se eu fizer qualquer modificação nesta página e subi-la para o meu provedor, a função acima continua mostrando informações da página anterior. Obrigado. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted May 14, 2015 Report Share Posted May 14, 2015 Tente assim: #Include "FiveWin.ch" FUNCTION Main() LOCAL oHttp, cResp1, oError Try oHttp := CreateObject( 'Microsoft.XMLHTTP' ) catch oError ? "Gentyyyy, ocorreu um erro? Mofffaaaaaaaa" Return Nil End Try // http://www.fivesolution.com.br/logsys.html oHttp:Open( "GET", "http://www.fivesolution.com.br/logsys.html", .F. ) oHttp:Send() // cResp1 := oHttp:ResponseText() cResp1 := oHttp:ResponseBody //ResponseText ? cResp1 RETURN NIL Quote Link to comment Share on other sites More sharing options...
Valdir Posted May 14, 2015 Author Report Share Posted May 14, 2015 Fala Tranka... Obrigado pela resposta, más infelizmente não funfou. O problema persiste. Tens alguma outra sugestão ? abração. Tente assim: #Include "FiveWin.ch" FUNCTION Main() LOCAL oHttp, cResp1, oError Try oHttp := CreateObject( 'Microsoft.XMLHTTP' ) catch oError ? "Gentyyyy, ocorreu um erro? Mofffaaaaaaaa" Return Nil End Try // http://www.fivesolution.com.br/logsys.html oHttp:Open( "GET", "http://www.fivesolution.com.br/logsys.html", .F. ) oHttp:Send() // cResp1 := oHttp:ResponseText() cResp1 := oHttp:ResponseBody //ResponseText ? cResp1 RETURN NIL Quote Link to comment Share on other sites More sharing options...
kapiaba Posted May 14, 2015 Report Share Posted May 14, 2015 Outra... #Include "FiveWin.ch" Function Main() local oHttp local cResp Try oHttp := CreateObject( "winhttp.winhttprequest.5.1" ) oHttp:Open("GET", "http://www.fivesolution.com.br/logsys.html", .f. ) oHttp:Send() cResp := oHttp:ResponseText() oHttp:WaitForResponse() Catch MsgStop( "Error" ) Return cResp End Try ? cResp Return cResp Quote Link to comment Share on other sites More sharing options...
kapiaba Posted May 14, 2015 Report Share Posted May 14, 2015 Outra.. #include "FiveWin.ch" Function Main() Local oHttp, cRet := '', uRet Try oHttp := CreateObject( 'MSXML2.XMLHTTP' ) Catch oHttp := CreateObject( 'Microsoft.XMLHTTP' ) End oHttp:Open("GET", "http://www.fivesolution.com.br/logsys.html", .f. ) oHttp:Send() SysRefresh() #ifdef __XHARBOUR__ cRet := oHttp:ResponseBody ? "1 ", cRet #else AEval(oHttp:ResponseBody,{|uRet|cRet+=Chr(uRet)}) // harbour? ? "2 ", cRet #endif Return cRet Quote Link to comment Share on other sites More sharing options...
Valdir Posted May 15, 2015 Author Report Share Posted May 15, 2015 Amigos... Com a ajuda dos amigos Kapiaba, Sistem, Hasa, Márcio e Vagner Wirts, o problema foi resolvido. Aproveitei a dica do amigo Sistem: TRY oOle := CreateObject( "Microsoft.XMLHTTP" ) oOle:Open( "GET", "http://www.sistem.ne...n(dtos(Date()),"/","")+".html", .f. ) // ex: bloquear b20150210.html /// aqui nao fica dependedo dos cookies do navegador oOle:Send() cBuf := oOle:ResponseBody CATCH Return nil END Depois foi só criar uma página html com as tags de controle de Data de validade de todos os meus clientes e depois instalá-la no meu Servidor de Internet. Pelo menos aqui funfou direitinho. Obrigados à todos que aajudaram. abração. kapiaba 1 Quote Link to comment Share on other sites More sharing options...
flgc Posted August 7, 2017 Report Share Posted August 7, 2017 Boa tarde! Sou novato em programação e fivewin, estou tentando implementar algo do tipo controle do acesso somente após o pagamento mais estou perdido por não conseguir exemplos para testar em minha aplicação. Sou programador fundo de quintal porem recentemente tenho uns 3 clientes que persistem em só me pagar quando querem. Tem como me ajudar com um exemplo para que eu estude e implemente na minha aplicação? Desde já, Obrigado! Quote Link to comment Share on other sites More sharing options...
flgc Posted August 8, 2017 Report Share Posted August 8, 2017 Ola Valdir, eu usava da mesma maneira que o senhor.... tive problemas com a porta 21 bloqueada ou caso o servidor ftp tiver o maximo de usuarios ou problema no host ftp... dai travava na consulta ftp o sistema. alem dos problemas e como tive meus fontes furtados... tive que alterar a maneira de fazer isto... seria mais ou menos assim TRY oOle := CreateObject( "Microsoft.XMLHTTP" ) oOle:Open( "GET", "http://www.sistem.net.br/licenca/b"+strtran(dtos(Date()),"/","")+".html", .f. ) // ex: bloquear b20150210.html /// aqui nao fica dependedo dos cookies do navegador oOle:Send() cBuf := oOle:ResponseBody CATCH Return nil END nFound0 := at(Alltrim(Empr->Cha_Empr)+".lcn", cBuf) ... ,, , dentro do arquivo HTML teria a(s) chave(s) que vc gostaria de bloquear (como fosse arquivo texto) // no caso seu sistema teria um campo para pôr esse chave se interessar me chame no email suporte@sistem.net,br que passo o procedimento completo para o amigo ftp nao ser bom para esse proposito []s Boa tarde! Sou novato em programação e fivewin, estou tentando implementar algo do tipo controle do acesso somente após o pagamento mais estou perdido por não conseguir exemplos para testar em minha aplicação. Sou programador fundo de quintal porem recentemente tenho uns 3 clientes que persistem em só me pagar quando querem. Tem como me ajudar com um exemplo para que eu estude e implemente na minha aplicação? Desde já, Obrigado! Quote Link to comment Share on other sites More sharing options...
sistem Posted August 8, 2017 Report Share Posted August 8, 2017 Boa tarde! Sou novato em programação e fivewin, estou tentando implementar algo do tipo controle do acesso somente após o pagamento mais estou perdido por não conseguir exemplos para testar em minha aplicação. Sou programador fundo de quintal porem recentemente tenho uns 3 clientes que persistem em só me pagar quando querem. Tem como me ajudar com um exemplo para que eu estude e implemente na minha aplicação? Desde já, Obrigado! Ola, caso vc tenha um host, crie um arquivo e no conteudo deste coloque algo que identifique o seu cliente(algo unico para cada cliente)....dai vc escreve essa identificacao unica em um arquivo. ex: teste.html ou teste.txt e joga no seu host dai vc poe o codigo abaixo em algum lugar no inicio de seu prog.principal... veja o codigo: TRY oOle := CreateObject( "Microsoft.XMLHTTP" ) oOle:Open( "GET", "http://www.SeuSite.net/licenca/b"+strtran(dtos(Date()), "/","")+".html", .f. ) // bloquear as chaves que encontrase no arquivo ex: b20170807.html oOle:Send() cBuf := oOle:ResponseBody // cBuf pega o conteudo do arquivo que esta no host(internet) (aquele arq. que vc vai pôr as chave(s) para bloqueio) CATCH Return nil END nFound := at(Cha_Empr, cBuf) // aqui verifica se a chave esta no conteudo cBuf (cBuf = conteudo do arquivo que esta na intenet HOST) If nFound > 0 // aqui verifica se variavel nFound eh maior que zero, caso seja mostra a msg de acesso negado e abandona o programa. MsgAlert("ACESSO NEGADO, por favor consultar suporte.", "Atenção!") quit Endif oOle := nil // mata o objeto pq usar uma data sendo o nome do arquivo? Resp: veja o inicio do topic []s Quote Link to comment Share on other sites More sharing options...
flgc Posted September 6, 2017 Report Share Posted September 6, 2017 Ola, caso vc tenha um host, crie um arquivo e no conteudo deste coloque algo que identifique o seu cliente(algo unico para cada cliente)....dai vc escreve essa identificacao unica em um arquivo. ex: teste.html ou teste.txt e joga no seu host dai vc poe o codigo abaixo em algum lugar no inicio de seu prog.principal... veja o codigo: TRY oOle := CreateObject( "Microsoft.XMLHTTP" ) oOle:Open( "GET", "http://www.SeuSite.net/licenca/b"+strtran(dtos(Date()), "/","")+".html", .f. ) // bloquear as chaves que encontrase no arquivo ex: b20170807.html oOle:Send() cBuf := oOle:ResponseBody // cBuf pega o conteudo do arquivo que esta no host(internet) (aquele arq. que vc vai pôr as chave(s) para bloqueio) CATCH Return nil END nFound := at(Cha_Empr, cBuf) // aqui verifica se a chave esta no conteudo cBuf (cBuf = conteudo do arquivo que esta na intenet HOST) If nFound > 0 // aqui verifica se variavel nFound eh maior que zero, caso seja mostra a msg de acesso negado e abandona o programa. MsgAlert("ACESSO NEGADO, por favor consultar suporte.", "Atenção!") quit Endif oOle := nil // mata o objeto pq usar uma data sendo o nome do arquivo? Resp: veja o inicio do topic []s Boa tarde! Muito obrigado, acabei de conseguir! 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.