Como proteger as storeprocedures de terceiros ?
Gostaria de saber de vocês se existe algum método como criptografia para proteger as storeprocedures de terceiros.
Desde já agradeço a atenção de todos
Desde já agradeço a atenção de todos
Lnunes
Curtidas 0
Respostas
Emerson Nascimento
18/05/2006
existe, mas não é criptografia.
quando criamos uma stored procedure, o banco de dados a armazena uma versão texto (o código-fonte, legível para nós, humanos) e também uma versão compilada.
o que você pode fazer é apagar a versão texto, mantendo somente a versão compilada. mas isso deve ser feito somente no banco de dados que será disponibilizado no cliente.
tome muito cuidado ao fazer isso, pois uma vez eliminado, esse texto não pode ser recuperado. faça um bkp; imprima uma cópia. assegure-se de ter o fonte em local seguro antes de eliminar o código-fonte do banco de dados.
quando criamos uma stored procedure, o banco de dados a armazena uma versão texto (o código-fonte, legível para nós, humanos) e também uma versão compilada.
o que você pode fazer é apagar a versão texto, mantendo somente a versão compilada. mas isso deve ser feito somente no banco de dados que será disponibilizado no cliente.
tome muito cuidado ao fazer isso, pois uma vez eliminado, esse texto não pode ser recuperado. faça um bkp; imprima uma cópia. assegure-se de ter o fonte em local seguro antes de eliminar o código-fonte do banco de dados.
GOSTEI 0
Lnunes
18/05/2006
emerson.en obrigado pela ajuda
GOSTEI 0
Marcelo.l
18/05/2006
Olá, LNunes
Eu costumo usar os seguintes scripts :
Retira o ´fonte´ das SPs:
Retira o ´fonte´ das Views:
Retira o ´fonte´ das Triggers:
Mas como emerson disse, somente utilize no banco do cliente.
Espero ter ajudado.
Eu costumo usar os seguintes scripts :
Retira o ´fonte´ das SPs:
UPDATE rdb$procedures SET rdb$procedure_source = NULL, rdb$description = NULL WHERE ((rdb$system_flag = 0) OR (rdb$system_flag IS NULL));
Retira o ´fonte´ das Views:
UPDATE rdb$relations SET rdb$view_source = NULL, rdb$description = NULL WHERE ((rdb$system_flag = 0) OR (rdb$system_flag IS NULL));
Retira o ´fonte´ das Triggers:
UPDATE rdb$triggers SET rdb$trigger_source = NULL, rdb$description = NULL WHERE ((rdb$system_flag = 0) OR (rdb$system_flag IS NULL));
Mas como emerson disse, somente utilize no banco do cliente.
Espero ter ajudado.
GOSTEI 0