Em 26 de março de 2015 15:00, Fabrízio de Royes Mello <
[email protected]> escreveu:

> On 26-03-2015 14:28, Euler Taveira wrote:
> > On 26-03-2015 11:43, Márcio A. Sepp wrote:
> >> Procuro fazê-lo sim. Posso não estar respondendo o último email da
> >> thread, pq o meu questionamento ou minha resposta está mais focada neste
> >> ponto e não no rumo que acabou tomando o assunto.
> >>
> > Responda no contexto *sempre* e remova o texto desnecessário.
> >
> >> Teve um caso de desenvolvimento de sistemas comerciais onde o fisco
> >> "pegou" clientes utilizando o mesmo sistema, porém com comportamentos
> >> bem distintos. Neste caso específico, a pessoa que foi implantar o
> >> sistema alterou funções do sistema de modo a permitir um "caixa 2". Este
> >> sistema era desenvolvido em Firebird e depois desse fato, a empresa
> >> desenvolvedora optou por ocultar o código fonte dos procedimentos do
> >> banco...
> >>
> > ... uma opção que não informaram é que se as suas funções foram feitas
> > em C, você pode "esconder" o código fonte.
> >
> >> Pelo que vi Oracle implementa algo neste sentido tbm. Mas não sei se
> >> é um anseio de outros usuários isso ou se eu estou divagando...
> >>
> > O "wrap" não previne que você consiga fazer uma engenharia reversa no
> > código da PL; ele apenas torna a missão difícil.
> >
> >> Observe que eu não estou me referindo a ocultar o código fonte de
> >> procedures/functions/triggers... e não em "fechar" o código fonte do
> >> postgresql.
> >>
> > Isso se chama ofuscação do código. Bom, como se trata de um produto de
> > código aberto, não vai ser tão difícil fazer um decompilador para o
> > código ofuscado. Por essa e outras razões, tal funcionalidade está
> > listada como "não será implementada" [1].
> >
> > No seu caso, o ideal é proteger por contrato qualquer mudança no seu
> > produto (como já foi dito pelo Dutra). Talvez algum módulo de auditoria
> > em C para lhe proteger contra mudanças que visam burlar o seu sistema.
> >
> >
> > [1] https://wiki.postgresql.org/wiki/Todo#Features_We_Do_Not_Want
> >
>
> Não sei se ajuda, mas uma vez gerei um hash da definição de cada PL e no
> procedimento de atualização de versão da estrutura do banco eu verificar
> esse hash, se não batia não atualizava a versão e gerava um alerta. O
> contexto era outro mas poderia ser feito um controle similar e vc
> periodicamente executar em seus clientes.
>
> Att,
>
> --
>    Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
>    PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


boa tarde
iria sugerir exatamente isso, pega a ddl da função gera um md5 e compara
com o que deveria de estar la e veja se sao iguais..
-- 

Douglas Fabiano Specht
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a