누구나 볼 수있는 SQL 2008 저장 프로 시저 코드를 보호 할 수 있습니까? 어쩌면 일부 암호화, 또는 DLL과 같은 조립?SQL Server에서 SQL 코드를 보호하는 방법
3
A
답변
4
이 예는 불행하게도
CREATE PROCEDURE dbo.foo
WITH ENCRYPTION
AS
BEGIN
SELECT 'foo'
END
... 그것은 암호화 된 형식으로 데이터베이스를 TI 저장하지만, 당신이 할 경우, 당신은 안전하게 어딘가에 저장되어있는 원래의 소스 코드를 확인 할 수 있습니다, 적어도 두 가지 방법이 있습니다 이 메카니즘을 이기기 위해서. 하나는 저장 프로 시저를 실행하는 동안 SQL 프로필러를 실행하는 것입니다. 저장 프로 시저가 수행하는 작업 (예 : GO 일괄 처리, 동적 SQL 등이있는 경우)에 따라 프로 시저 자체의 텍스트가 표시 될 수 있습니다. 사용자가 초기 설치를 놓친 경우 사용자는 저장 프로 시저를 삭제하거나 데이터베이스를 삭제하고 프로파일 러 추적을 시작한 다음 다시 작성하도록 요청할 수 있습니다.이 경우 CREATE PROCEDURE 문을 캡처합니다. 당신은 주석으로, 코드에서 후 sp_password를 내장하여 누퍼 텍스트를 드러내는에서 프로파일 러를 방지 할 수 있습니다 :
CREATE PROCEDURE dbo.foo
WITH ENCRYPTION
AS
BEGIN
SELECT 'foo'
-- comment: sp_password
END
보기 MSDN Create Procedure documention
이름을이 방법이 있나요에서? 또는 어쩌면 어떤 링크? – Alkersan
+1 좋은 답변 (개인적으로 관련 기술에 대한 필요성은 보이지 않지만) – ChristopheD
불행히도 SQL 서버에 내장 된 사소한 암호화를 우회하는 방법을 찾으려면 Google에서 5 백만 이하가 필요합니다. 코드를 실제로 보호하려면 상용 솔루션을 찾아야합니다. –