Není jasné, jaký je váš cíl:snažíte se chránit duševní vlastnictví; zabránit uživatelům, aby viděli citlivé informace ve zdrojovém kódu (např. hesla); zabránit uživatelům, aby měnili postupy samotné, nebo něco jiného? Jsou vaši uživatelé interními uživateli ve vaší společnosti nebo jsou to externí zákazníci? Hostují databázi a aplikaci oni nebo vy?
Ochrana duševního vlastnictví:
- Nechte své uživatele (zákazníky?) podepsat smlouvu NDA nebo smlouvu, která specifikuje vaše smluvní podmínky a zahrnuje sankce za zveřejnění vašeho duševního vlastnictví
- Přesuňte citlivé informace do služby, kterou hostujete, a zpřístupněte ji jako webovou službu
Chcete-li uživatelům zabránit ve zobrazení zdrojového kódu:
- VYTVOŘTE POSTUP SE ŠIFROVÁNÍM – toto zabrání pouze „normálním“ uživatelům, aby viděli kód, nezastaví určeného uživatele s oprávněními správce systému
- Namísto použití TSQL napište proceduru CLR v .NET
- Přesuňte citlivé informace do zkompilované klientské aplikace
- Přesuňte citlivé informace do služby, kterou hostujete, a zpřístupněte ji jako webovou službu
Abyste zabránili uživatelům MĚNIT postupy:
- Neudělujte jim potřebná oprávnění
Nakonec určený uživatel s oprávněními sysadmin vždy provede zpětnou analýzu, ladění, dekompilaci nebo jiné odhalování logiky vašeho kódu. Musíte tedy mít jasno v tom, čemu přesně se snažíte zabránit, jaký to může mít dopad na vás nebo vaši společnost a kolik času a peněz jste ochotni investovat do prevence.