سؤال

هل من الممكن لحماية SQL 2008 قانون الإجراءات المخزنة من anyone`s العيون؟ ربما بعض التشفير، أو تجميع مثل دلل؟

هل كانت مفيدة؟

المحلول

ونعم يمكنك حفظه TI قاعدة البيانات بشكل مشفر، ولكن إذا قمت بذلك، تأكد من حصولك على رمز المصدر الأصلي بأمان تخزينها في مكان ما ...

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

ولسوء الحظ، هناك نوعان من طرق على الأقل لهزيمة هذه الآلية. واحد هو لتشغيل SQL التعريف أثناء تنفيذ الإجراء المخزن. هذا في كثير من الأحيان يمكن أن تكشف عن نص الإجراء في حد ذاته، وهذا يتوقف على ما يقوم به إجراء مخزن (على سبيل المثال، إذا كان لديه GO دفعات، ودينامية SQL الخ). إذا كانت تفوت الأولي تثبيت، يمكن للمستخدم حذف الإجراءات المخزنة أو إسقاط قاعدة البيانات، تبدأ أثر التعريف، ويطلب منك إعادة إنشاء هذه (وفي هذه الحالة سيتم التقاط البيانات إجراءات إنشاء). يمكنك منع التعريف من كشف النص إلى المتلصصون عن طريق دمج sp_password في التعليمات البرمجية، كما تعليق:

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

MSDN إنشاء documention الإجراءات

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top