क्या एमएस एसक्यूएल संग्रहीत प्रक्रियाओं को छिपाने/संरक्षित/खराब करने का कोई तरीका है?एसक्यूएल स्पॉक्स को कैसे रोकें?
उत्तर
मैं अस्पष्ट कोड को समझ सकता हूं अगर यह बेहद उन्नत है कि यह क्या करता है, लेकिन मुझे लगता है कि आपके एसक्यूएल को परेशान करने से परेशानी नहीं हो सकती है।
वैसे भी, मैंने यहां देखा है कि बहुत सारे एसक्यूएल मानक के रूप में obfuscated आता है।
आप हमेशा सी # (या वीबी) में सामान्य कोड लिख सकते हैं और इसे डीएलएल में डेटाबेस के बाहर स्टोर कर सकते हैं।
फिर आपको अपने एसक्यूएल को खराब करने की चिंता करने की आवश्यकता नहीं है।
हां, लेकिन उन डीएलएस को आसानी से डिस्प्ले किया जा सकता है, इसलिए आपको obfuscate करना होगा, इसलिए आप वापस वर्ग 1 पर वापस आ गए हैं। –
सब कुछ निष्पादन योग्य डीकंपिल्ड और रिवर्स इंजीनियर हो सकता है। तो आप वर्ग 1 से बाहर नहीं जा सकते हैं। परेशान क्यों? –
यदि आपको इसे छिपाना होगा, तो "एनक्रिप्शन" खंड के बारे में कैसे?
बनाने की प्रक्रिया कथन के लिए एन्क्रिप्शन विकल्प देखें।
आप किसी को डीबी में हो रही है और प्रक्रिया के लिए स्रोत देखने के बारे में वास्तव में चिंतित हैं, तो के रूप में एस लोट ने कहा, आप बंदरगाह सी # करने के लिए प्रक्रिया कर सकते हैं। मैं LINQ की सिफारिश करेंगे।
हालांकि, डेटाबेस को शायद उन प्रक्रियाओं के लिए कोड तक पहुंचने वाले लोगों से संरक्षित किया जाना चाहिए जो नहीं होना चाहिए। आप किसी उपयोगकर्ता या समूह के अधिकारों को केवल तभी सीमित कर सकते हैं जब आवश्यक हो तो एक proc तक पहुंच प्राप्त करें।
संग्रहीत प्रक्रिया बनाते समय आप एनक्रिप्शन क्लॉज का उपयोग कर सकते हैं।
यह ग्राहक मशीन पर स्रोत एसक्यूएल को छोड़ने पर भरोसा नहीं करेगा।
अधिक जानकारी के लिए यहाँ देखें:
http://msdn.microsoft.com/en-us/library/ms187926(SQL.90).aspx
संख्या कम से कम, एक तरीका है कि गैर-प्रतिवर्ती है में नहीं है। मूल सादा पाठ प्राप्त करने के लिए SQL Server 2000 की "एनक्रिप्शन के साथ" को उलट किया जा सकता है। छद्म कोड और एक टी SQL स्क्रिप्ट है कि इस दिखाता है यहाँ है: http://education.sqlfarms.com/education/ShowPost.aspx?PostID=783
नोट: मैं ऊपर एसक्यूएल 2005 या के साथ इसे करने की कोशिश नहीं की है, लेकिन मेरा अनुमान है कि यह उतना ही कमजोर है .. MSDN के रूप में डॉक्स राज्य:
एन्क्रिप्शन इंगित करता है कि SQL सर्वर एक समझ से परे प्रारूप करने के लिए बनाने की प्रक्रिया कथन का मूल पाठ में परिवर्तित कर देंगे।
जोर मेरा।
एक विकल्प सीएलआर संग्रहीत प्रक्रिया में संग्रहीत प्रक्रिया के केवल संवेदनशील हिस्सों को रखना होगा, और एक पेशेवर obfuscation उत्पाद का उपयोग कर उस असेंबली को obfuscate होगा।
आसानी से ज्यादातर लोगों को कोड के आसपास poking के लिए प्रतिवर्ती यदि आप जानते हैं, लेकिन करने के लिए डराना। हेक्स एन्कोड आप तर्क को स्पोक करते हैं और फिर EXEC (@hexEncodedString) के साथ निष्पादित करते हैं।
यह post देखें।
पुरानी पोस्ट, मुझे पता है। लेकिन मैं यहां से खोज कर रहा हूं 'मुझे एसक्यूएल को क्यों रोकना चाहिए?' मैंने अभी एपेक्स एसक्यूएल रिएक्टर (कोई संबद्धता) नामक एक मुक्त उत्पाद स्थापित किया है जो एक obfuscation घटक प्रदान करता है।
यह आपके कोड को पढ़ने में कठोर बनाने के लिए कई अलग-अलग विकल्प प्रदान करता है। मुझे यकीन नहीं था कि मैं ऐसी सुविधा क्यों चाहूंगा, क्योंकि अन्य ने आपकी संग्रहीत प्रक्रियाओं को एन्क्रिप्ट करने की क्षमता को नोट किया है। वैसे भी, यह आउटपुट का एक उदाहरण है जो इसे अपने obfuscation फ़ंक्शन से वापस कर सकता है।
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. हाइबरनेट में एसक्यूएल इंजेक्शन को कैसे रोकें?
- 2. फ़ॉर्म को कैसे रोकें
- 3. हैंडलर को कैसे रोकें?
- 4. SYN_SENT को कैसे रोकें?
- 5. ListBox.SelectedIndexChanged ईवेंट को कैसे रोकें?
- 6. जावा थ्रेड को कैसे रोकें?
- 7. डार्ट्स को कैसे रोकें .forEach()?
- 8. पेज रीडायरेक्ट को कैसे रोकें
- 9. जावा प्रक्रिया को कैसे रोकें?
- 10. HTTP स्पूफिंग को कैसे रोकें?
- 11. UIView एनीमेशन को कैसे रोकें
- 12. NStimer ईवेंट को कैसे रोकें?
- 13. कोर एनीमेशन को कैसे रोकें?
- 14. अनधिकृत स्पाइडरिंग को कैसे रोकें
- 15. एनएसआईएनवोकेशन ऑपरेशन को कैसे रोकें?
- 16. सोलारिस जीडीबी: कैसे रोकें रोकें?
- 17. अग्रणी व्हाइटस्पेस को ट्रिम करने से dbms_output.put_line को कैसे रोकें?
- 18. "फोनिंग होम" से एसएसआईएस को कैसे रोकें
- 19. मेरे एसक्यूएल कोड को बदलने के लिए एमएस एक्सेस को कैसे रोकें?
- 20. subprocess को रोकें। पाइथन
- 21. यूएसी वर्चुअलाइजेशन को रोकें?
- 22. एसक्यूएल सर्वर में गतिशील एसक्यूएल को कैसे साफ करें - एसक्यूएल इंजेक्शन
- 23. एक्सएसएस हमले को रोकें
- 24. बंद ब्राउज़र विंडो को कैसे रोकें?
- 25. UITextView पर लंबी प्रेस को कैसे रोकें?
- 26. गैर-विशिष्ट टेम्पलेट तत्कालता को कैसे रोकें?
- 27. memcpy बफर ओवरफ़्लो को कैसे रोकें?
- 28. अधिसूचित होने तक एनएसटीएचएड को कैसे रोकें?
- 29. ग्रहण पुनर्निर्माण कार्यक्षेत्र को कैसे रोकें?
- 30. अंतहीन ईजेबी 3 टाइमर को कैसे रोकें?
हाहा, केवल इसलिए कि आपको इन सभी ठीक एसक्यूएल कथनों की genuis नहीं मिलती है, इसका मतलब यह नहीं है कि वे obfuscated हैं। आप प्रतिभा-फू बस बहुत कमजोर है। ;) – Bombe