SQL Server에서 SQL 코드를 보호하는 방법
-
06-07-2019 - |
문제
SQL 2008 저장 절차 코드를 다른 사람의 눈으로부터 보호 할 수 있습니까? 어쩌면 암호화 또는 DLL과 같은 조립일까요?
해결책
예, 데이터베이스를 암호화 된 양식으로 저장할 수 있지만, 그렇다면 원래 소스 코드가 어딘가에 안전하게 저장되어 있는지 확인하십시오 ...
CREATE PROCEDURE dbo.foo
WITH ENCRYPTION
AS
BEGIN
SELECT 'foo'
END
불행히도,이 메커니즘을 물리 칠 수있는 두 가지 방법이 있습니다. 하나는 저장 프로 시저를 실행하는 동안 SQL 프로파일 러를 실행하는 것입니다. 이것은 저장된 절차가하는 일 (예 : 배치, 동적 SQL 등)에 따라 절차 자체의 텍스트를 종종 공개 할 수 있습니다. 초기 설치를 놓친 경우 사용자는 저장된 프로 시저를 삭제하거나 데이터베이스를 삭제하고 프로파일 러 추적을 시작한 다음 다시 만들어달라고 요청할 수 있습니다 (이 경우 프로 시저 작성 문을 캡처합니다). 코드에 SP_PASSWORD를 포함하여 프로파일 러가 스누퍼에게 텍스트를 공개하는 것을 방지 할 수 있습니다.
CREATE PROCEDURE dbo.foo
WITH ENCRYPTION
AS
BEGIN
SELECT 'foo'
-- comment: sp_password
END
보다 MSDN은 절차를 만듭니다 문서
제휴하지 않습니다 StackOverflow