Có cách nào để ẩn/bảo vệ/làm xáo trộn thủ tục lưu trữ MS SQL không?Làm thế nào để làm xáo trộn SQL Sprocs?
Trả lời
Tôi có thể hiểu một cách mơ hồ mã nếu nó cực kỳ tiên tiến trong những gì nó làm, nhưng tôi nghĩ rằng làm xáo trộn SQL của bạn có thể không đáng để gặp rắc rối.
Dù sao thì, rất nhiều SQL tôi đã thấy ở đây đều trở thành tiêu chuẩn.
Bạn luôn có thể viết mã thông thường trong C# (hoặc VB) và lưu nó bên ngoài cơ sở dữ liệu trong một DLL.
Sau đó, bạn không phải lo lắng về việc làm xáo trộn SQL của mình.
Có, nhưng những dll này có thể dễ dàng bị biên dịch lại, vì vậy bạn cần phải làm xáo trộn, vì vậy bạn trở lại hình vuông 1. –
Mọi thứ có thể thực thi được có thể được biên dịch và đảo ngược. Vì vậy, bạn không thể rời khỏi quảng trường 1. Tại sao phải bận tâm? –
Nếu bạn phải ẩn nó, điều khoản "WITH ENCRYPTION" thì thế nào?
Xem tùy chọn ENCRYPTION cho câu lệnh CREATE PROCEDURE.
Nếu bạn thực sự lo lắng về một người nào đó đi vào DB và nhìn thấy những nguồn cho các thủ tục, sau đó là S. Lott nói, bạn có thể cổng các thủ tục để C#. Tôi muốn giới thiệu LINQ.
Tuy nhiên, bản thân cơ sở dữ liệu có lẽ nên được bảo vệ khỏi những người truy cập vào mã cho các thủ tục không nên. Bạn có thể hạn chế quyền của người dùng hoặc nhóm chỉ có quyền truy cập EXECUTE vào proc nếu cần.
Bạn có thể sử dụng mệnh đề ENCRYPTION khi tạo quy trình được lưu trữ.
Điều này sẽ dựa vào việc không rời khỏi SQL nguồn trên máy khách hàng.
Xem ở đây để biết thêm:
http://msdn.microsoft.com/en-us/library/ms187926(SQL.90).aspx
số Ít nhất, không phải trong một cách đó là un thể đảo ngược. "WITH ENCRYPTION" của SQL Server 2000 có thể được đảo ngược để nhận bản gốc. Mã giả và một tập lệnh T-SQL minh họa điều này ở đây: http://education.sqlfarms.com/education/ShowPost.aspx?PostID=783
Lưu ý: Tôi chưa thử với SQL 2005 trở lên, nhưng tôi đoán nó cũng dễ bị tổn thương .. Như MSDN tài liệu nhà nước:
ENCRYPTION Chỉ ra rằng SQL server sẽ chuyển đổi các văn bản gốc của CREATE PROCEDURE tuyên bố một obfuscated định dạng .
Mỏ nhấn mạnh.
Một tùy chọn sẽ chỉ là đặt các phần nhạy cảm của quy trình được lưu trữ trong quy trình được lưu trữ CLR và làm xáo trộn cụm từ đó bằng cách sử dụng sản phẩm obfuscation chuyên nghiệp.
Dễ dàng đảo ngược nếu bạn biết nhưng đe dọa đến để hầu hết mọi người chọc xung quanh mã. hex mã hóa bạn sproc logic và sau đó thực hiện với EXEC (@hexEncodedString).
xem điều này post.
Bài đăng cũ, tôi biết. Nhưng tôi đã đến đây để tìm kiếm 'Tại sao tôi phải làm xáo trộn SQL?' Tôi vừa cài đặt một sản phẩm miễn phí có tên là ApexSQL Refactor (không liên kết), cung cấp một thành phần obfuscation.
Nó cung cấp một số tùy chọn khác nhau để làm cho mã của bạn khó đọc. Tôi không chắc tại sao tôi lại muốn một tính năng như vậy, vì những người khác đã lưu ý khả năng mã hóa các thủ tục đã lưu trữ của bạn. Dù sao, đây là một ví dụ về đầu ra nó có thể trở về từ hàm obfuscation của nó.
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. Làm thế nào để xáo trộn một ArrayList
- 2. Làm xáo trộn mã PHP
- 3. Làm xáo trộn hình ảnh
- 4. Làm xáo trộn email trong html
- 5. Giảm bớt/Làm xáo trộn Mã PHP
- 6. làm thế nào để làm xáo trộn tập tin chiến tranh bằng cách sử dụng proguard
- 7. Làm thế nào để làm xáo trộn ứng dụng web trước khi xuất bản?
- 8. Làm thế nào để làm xáo trộn chỉ vài lớp hoặc một gói duy nhất?
- 9. Có sai khi làm xáo trộn mã bị xáo trộn không?
- 10. SPOJ: Xáo trộn thẻ
- 11. Làm thế nào để xáo trộn công việc trong hàng đợi Resque?
- 12. Làm thế nào để "trộn" một mảng?
- 13. Làm cách nào để yêu cầu ProGuard làm xáo trộn phương thức và tên lớp?
- 14. Cách yêu cầu Proguard làm xáo trộn tên lớp
- 15. Tại sao bạn làm xáo trộn mã của bạn?
- 16. Xáo trộn thẻ trong C#
- 17. Làm xáo trộn mật khẩu được lưu trữ trong bash
- 18. Tôi có thể làm xáo trộn mã SQL trong MySQL không?
- 19. xáo trộn chuỗi trong python
- 20. Xáo trộn phân tích thuật toán
- 21. Có cách nào để làm xáo trộn các khóa API trong gói R không?
- 22. Làm cách nào để xáo trộn các ký tự trong một chuỗi trong JavaScript?
- 23. Làm cách nào tôi có thể làm xáo trộn chỉ com.foo. * Và com.bar. * (ProGuard)?
- 24. bị xáo trộn Mã trong C
- 25. Cách tốt nhất để làm xáo trộn số ID trong một ứng dụng
- 26. Làm thế nào để tắt tất cả các tính năng của Android ProGuard ngoại trừ sự xáo trộn?
- 27. Làm thế nào để gỡ lỗi với các ứng dụng bị xáo trộn (với ProGuard) trên Android?
- 28. Làm thế nào để đảm bảo hai vectơ khác nhau được xáo trộn theo thứ tự trong C++?
- 29. Xáo trộn nếu có vấn đề khác
- 30. Phương pháp tốt nhất để làm xáo trộn hoặc bảo mật .Net assembly
Haha, chỉ vì bạn không nhận được bộ gen của tất cả các câu lệnh SQL tốt này, điều đó không có nghĩa là chúng bị che khuất. Bạn thiên tài-fu chỉ đơn giản là quá yếu. ;) – Bombe