Pergunta

É possível proteger SQL Server 2008 armazenadas código de procedimento de anyone`s olhos? Talvez alguns criptografia ou montagem como dll?

Foi útil?

Solução

Sim, você pode salvá-lo ti o banco de dados de forma criptografada, mas se o fizer, certifique-se de ter o código fonte original armazenado com segurança em algum lugar ...

CREATE PROCEDURE dbo.foo 
WITH ENCRYPTION 
AS 
BEGIN 
    SELECT 'foo' 
END

Infelizmente, há pelo menos duas maneiras para derrotar este mecanismo. Um deles é para executar o SQL Profiler durante a execução do procedimento armazenado; muitas vezes isso pode revelar o texto do próprio, dependendo procedimento em que o procedimento armazenado faz (por exemplo, se ele tem lotes GO, SQL dinâmica etc). Se eles perdem a instalação inicial, o usuário pode excluir os procedimentos armazenados ou deixar cair o banco de dados, iniciar um rastreio Profiler, e pedir-lhe para voltar a criá-los (caso em que eles vão capturar a declarações PROCEDIMENTO CRIE). Você pode evitar Profiler de revelar o texto para bisbilhoteiros incorporando sp_password no código, como um comentário:

CREATE PROCEDURE dbo.foo 
WITH ENCRYPTION 
AS 
BEGIN 
    SELECT 'foo' 
    -- comment: sp_password 
END

MSDN Criar procedimento documention

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top