有沒有辦法隱藏/保護/混淆MS SQL存儲過程?如何混淆SQL Sprocs?
回答
我可以隱約地理解混淆代碼,如果它的功能非常先進的話,但我認爲混淆你的SQL可能不值得一提。
無論如何,我在這裏看到的很多SQL都是標準混淆。
您可以隨時在C#(或VB)中編寫普通代碼並將其存儲在數據庫之外的DLL中。
然後你不必擔心模糊你的SQL。
是的,但這些DLL可以很容易反編譯,所以你需要混淆,所以你回到了方形1. – 2011-12-15 15:29:33
如果你必須隱藏它,那麼「WITH ENCRYPTION」子句怎麼樣?
參見CREATE PROCEDURE語句加密選項。
如果你真的擔心有人進入數據庫,並看到源的程序,那麼作爲S.洛特說,你可以端口過程C#。我會推薦LINQ。
但是,數據庫本身應該受到保護,以免人們訪問不應該有的過程的代碼。如果需要,您可以限制用戶或組的權限,以僅對EXCUTE進行訪問。
您可以在創建存儲過程時使用ENCRYPTION子句。
這將依賴於不在客戶機器上留下源SQL。
這裏看到更多的信息:
http://msdn.microsoft.com/en-us/library/ms187926(SQL.90).aspx
至少,在某種程度上是聯合國可逆號。可以顛倒SQL Server 2000的「WITH ENCRYPTION」以獲得原始明文。僞碼和一個T-SQL腳本說明了這一點: http://education.sqlfarms.com/education/ShowPost.aspx?PostID=783
注意:我還沒有用SQL 2005或更高版本嘗試過,但我的猜測是它同樣容易受到攻擊..作爲MSDN文檔狀態:
加密 指示SQL Server將CREATE PROCEDURE語句的原始文本轉換爲混淆格式。
強調我的。
一種選擇是將存儲過程的敏感部分放在CLR存儲過程中,並使用專業混淆產品對該組件進行混淆。
很容易恢復,如果你知道,但恐嚇大多數人身邊代碼戳。 十六進制爲您的sproc邏輯編碼,然後使用EXEC(@hexEncodedString)執行。
看到這個post。
舊帖子,我知道。但是我從搜索'爲什麼要混淆SQL?'來到這裏。我剛安裝了一個名爲ApexSQL Refactor(無隸屬關係)的免費產品,它提供了一個模糊處理組件。
它提供了幾個不同的選項,使您的代碼難以閱讀。我不確定爲什麼我想要這樣的功能,因爲其他人指出了加密存儲過程的能力。無論如何,這是它可以從它的混淆函數返回的輸出示例。
CrEAtE Procedure spInsertOrUpdateProduct @ProductNumber nVarChar(25),
@ListPrice Money aS IF exIsTS(selECt * FROm Production.Product WHere
[email protected] AnD ListPrice>1000) uPdatE Production.
Product sET ListPrice=(ListPrice-100) where ProductNumber=
@ProductNumber elsE INSerT intO Production.Product(ProductNumber,
ListPrice) SelECT @ProductNumber,@ListPrice GO SElEct * fRoM
Production.Product gO iNsERT iNTo Production.UnitMeasure(
UnitMeasureCode,Name,ModifiedDate) vAlUeS(N'FT2',N'Square Feet',
'20080923'); Go
- 1. xml混淆sql
- 2. SQL - 混淆查詢
- 3. 語法混淆SQL
- 4. sql查詢混淆
- 5. SQL編碼混淆
- 6. 加入SQL混淆?
- 7. SQL與AND混淆
- 8. SQL視圖和Sprocs
- 9. 如何在sql server中測試sprocs?
- 10. 創建SQL表,foreign_key混淆
- 11. sql助手類的混淆
- 12. T-SQL Sum案例混淆
- 13. Proc SQL案例混淆
- 14. SQL頂部+計數()混淆
- 15. vs2010混淆sql調試
- 16. 與SQL和Tomcat混淆
- 17. SQL打開表格混淆
- 18. SQL查詢:查詢混淆
- 19. SQL PHP的混淆複雜
- 20. SQLServer2008:混淆或混淆
- 21. 如何混淆使用ProGuard
- 22. 如何混淆或混淆Wordpress生產數據
- 23. 如何混淆/去混淆整數屬性?
- 24. 混淆
- 25. 混淆繪製混淆矩陣MATLAB
- 26. Cordova android 5.1.1 APK混淆與proguard混淆
- 27. sql - 與相關子查詢混淆
- 28. SQL Server BPA輸出結果混淆
- 29. HAVING與WHERE之間的混淆,SQL Server
- 30. T-SQL病例陳述混淆
哈哈,只是因爲你沒有得到所有這些精美的SQL語句的genuis,並不意味着它們被混淆了。你的天才福太弱了。 ;) – Bombe 2009-01-07 16:26:34