Frage

Ist es möglich, SQL 2008 gespeicherte Prozedur Code aus anyone`s Augen zu schützen? Vielleicht eine Verschlüsselung oder wie dll zusammenbauen?

War es hilfreich?

Lösung

ja können Sie speichern die Datenbank in verschlüsselter Form ti, aber wenn Sie das tun, stellen Sie sicher, dass Sie den ursprünglichen Quellcode sicher irgendwo gespeichert haben ...

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

Leider gibt es mindestens zwei Möglichkeiten, diesen Mechanismus zu besiegen. Eine davon ist SQL Profiler zu laufen, während die gespeicherte Prozedur ausführt; oft kann dies selbst den Text des Verfahrens zeigen, je nachdem, was die gespeicherte Prozedur tut (z wenn es Chargen hat GO, dynamische SQL usw.). Wenn sie die erste Installation verpassen, kann der Benutzer die gespeicherten Prozeduren löschen oder die Datenbank löscht, eine Profiler-Ablaufverfolgung starten, und stellen Sie sie neu erstellen (in diesem Fall werden sie erfassen die Prozedur CREATE-Anweisungen). Sie können Profiler aus enthüllt den Text zu Schnüffler verhindern, indem die Einbettung sp_password im Code als Kommentar:

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

Blick auf MSDN Create Procedure Dokumention

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top