sql >> Database >  >> RDS >> Sqlserver

beveilig opgeslagen procedure door weergavedefinitie te weigeren

Het is niet duidelijk wat uw doel is:probeert u intellectueel eigendom te beschermen; voorkomen dat gebruikers gevoelige informatie in de broncode zien (bijv. wachtwoorden); voorkomen dat gebruikers de procedures zelf wijzigen, of iets anders? Zijn uw gebruikers interne gebruikers in uw eigen bedrijf of zijn het externe klanten? Hosten zij de database en de applicatie of jij?

Om intellectueel eigendom te beschermen:

  • Laat uw gebruikers (klanten?) een NDA of contract ondertekenen waarin uw algemene voorwaarden worden gespecificeerd en waarin sancties zijn opgenomen voor het openbaar maken van uw intellectuele eigendom
  • Verplaats de gevoelige informatie naar een service die u host en publiceer deze als een webservice

Om te voorkomen dat gebruikers de broncode zien:

  • CREER PROCEDURE MET ENCRYPTIE - dit voorkomt alleen dat 'normale' gebruikers de code zien, het zal een vastberaden gebruiker met sysadmin-rechten niet stoppen
  • Schrijf een CLR-procedure in .NET in plaats van TSQL te gebruiken
  • Verplaats de gevoelige informatie naar een gecompileerde clienttoepassing
  • Verplaats de gevoelige informatie naar een service die u host en publiceer deze als een webservice

Om te voorkomen dat gebruikers de procedures WIJZIGEN:

  • Geef ze niet de benodigde rechten

Uiteindelijk zal een vastberaden gebruiker met sysadmin-machtigingen altijd de logica in uw code reverse-engineeren, debuggen, decompileren of anderszins ontdekken. U moet dus heel duidelijk zijn over wat u precies probeert te voorkomen, wat de mogelijke impact op u of uw bedrijf is en hoeveel tijd en geld u bereid bent te investeren in het voorkomen ervan.




  1. Ongeldige poging om het veld te openen voordat read() wordt aangeroepen

  2. Back-up van MySQL-database met CodeIgniter

  3. Mysql codeigniter php asc desc volgorde op telling resultaat met behulp van php

  4. MySql-verschil tussen twee tijdstempels in seconden?