SqlParameters
का उपयोग कर अपने डेटाबेस प्रश्नों में एसक्यूएल इंजेक्शन को रोकने के लिए एक अनुशंसित विधि है। मुझे कोड/फ़ंक्शन कहां मिल सकता है जो इन मानकों को आंतरिक रूप से स्वच्छ करता है? मैं इस समारोह को मेरे कस्टम कार्यान्वयन में फिर से उपयोग करना चाहता हूं। मैंने प्रतिबिंबक का उपयोग करके इसे खोजने की कोशिश की, लेकिन असफल रहा।एसक्लोकॉमंड पैरामीटर को कैसे वैध करता है?
उत्तर
यह एसक्यूएल इंजेक्शन के खिलाफ सुरक्षा करता है, एक्सएसएस नहीं, और कोई कोड या फ़ंक्शन है जो पैरामीटर डेटा को स्वच्छ करता है।
संरक्षण क्वेरी स्ट्रिंग से अलग से सर्वर पर पैरामीटर मानों को प्रेषित करके सुरक्षा को पूरा किया जाता है, ताकि मान कभी सीधे एसक्यूएल कथन में प्रतिस्थापित नहीं हो जाएं।
तो बजाय एसक्यूएल सर्वर कुछ इस तरह चल रहा है:
SELECT * FROM [table] WHERE [column] = ParameterValue
यह और भी है जैसे कि यह कुछ इस तरह भाग गया:
DECLARE @ParamValue int
-- //@ParamValue variable is populated from the framework in a safe way
SELECT * FROM [table] WHERE [column] = @ParamValue
यह तेजी से और अधिक सुरक्षित और एक समारोह से मजबूत है जो पैरामीटर डेटा का मूल्यांकन करना होगा। इस तरह के एक समारोह को custom escape characters और भविष्य में संवर्धन जैसी चीजों को संभालने के लिए बहुत जटिल (पढ़ना: त्रुटि प्रवण) होना आवश्यक होगा।
यह साफ-सुथरा पक्ष पूरे मुद्दे को हल करता है: डेटा डेटा है, कोड कोड है, और कभी दो बार मिलेंगे।
अन्य, अब नष्ट कर दिया, जवाब देने के लिए आपकी टिप्पणी:
अगर मैं मूल्य ओ'रुरके में गुजरती हैं, यह वह कूटबद्ध इतना है कि यह नष्ट नहीं होती है O''Rourke होने के लिए पूछताछ। सही बात?
नहीं, यह सही नहीं है। चर सीधे डेटा ब्लॉक से बनाया गया है, और इसलिए कोई विशेष भागने या एन्कोडिंग की आवश्यकता नहीं है।
ठीक है, यह समझ में आता है, धन्यवाद। "// @ परमवेल्यू वेरिएबल ढांचे से सुरक्षित तरीके से आबादी में आ गया है" यह एक सुरक्षित तरीके से कैसे आबादी है? –
यह एसक्यूएल नहीं है - चर क्लाइंट से प्रेषित _data_ ब्लॉक से एसक्यूएल सर्वर द्वारा बनाया गया है, लेकिन इसे डेटा सेगमेंट में रखा गया है और कोड के रूप में कभी नहीं माना जाता है, और इसलिए डेटा को बचने या एन्कोड करने की आवश्यकता नहीं है। –
क्या आप इस बारे में किसी भी विस्तृत साहित्य के बारे में जानते हैं? मैं वास्तव में पूरी प्रक्रिया को समझना चाहता हूं। –
- 1. पेज कैसे करता है। यह वैध काम करता है?
- 2. एक्सेस से छवि पढ़ना - पैरामीटर वैध नहीं है
- 3. call_user_func() पैरामीटर 1 एक वैध कॉलबैक होने की उम्मीद है
- 4. "पैरामीटर वैध नहीं है" सिस्टम से अपवाद। ड्रॉइंग.इमेज.फ्रोस्ट्रीम() विधि
- 5. मजाक call_user_func_array() पैरामीटर 1 एक वैध कॉलबैक
- 6. विजुअल स्टूडियो MSBuild को किस पैरामीटर को पास करता है?
- 7. `_ [....]` वैध पहचानकर्ता है?
- 8. छवि। फ्रॉमस्ट्रीम (PostFile.InputStream) विफल रहता है। (पैरामीटर वैध नहीं है।) (AsyncFileUpload))
- 9. पैरामीटर प्रदर्शन नहीं करता है साथ ही
- 10. लैम्बडा फ़ंक्शन पायथन में पैरामीटर को बंद नहीं करता है?
- 11. WebApi.UnityDependencyResolver Microsoft.Practices.ServiceLocation.IServiceLocator को लागू नहीं करता है। पैरामीटर: commonServiceLocator
- 12. क्रोम भौगोलिक स्थान अधिकतम एज पैरामीटर को अनदेखा करता है
- 13. कैसे करता है, तो यह वास्तव में है अगर एक गिरी एक वैध गिरी
- 14. एएसपी.नेट एमवीसी "अजाक्स.बिनगोरफॉर्म" ऑनस्यूफ को निष्पादित करता है भले ही मॉडल वैध नहीं है
- 15. वसंत एमवीसी नियंत्रक विधि पैरामीटर कैसे काम करता है?
- 16. वैध कार्य
- 17. अमान्य जेसन को वैध जेसन
- 18. क्या यह वैध JSON है?
- 19. एक जेएस फ़ंक्शन कैसे लिखता है जो पैरामीटर की चर संख्या को स्वीकार करता है और "आगे" करता है?
- 20. मॉडल स्थिति वैध नहीं है
- 21. पैरामीटर के लिए केवल वैध सूची इंडेक्स जेनरेट करने के लिए क्विक चेक को कैसे बताना है?
- 22. किसी विधि में 'आउट' या 'रेफरी' पैरामीटर का उपयोग करने का वैध कारण क्या है?
- 23. क्या -1u वैध सी ++ है?
- 24. मुझे एक जेनेरिक पैरामीटर की आवश्यकता कैसे हो सकती है जो एक इंटरफ़ेस लागू करता है?
- 25. मैकोज़ पर मैवेन चेतावनी: वर्कस्पेस एक वीएम को परिभाषित करता है जिसमें वैध जेआर/lib/rt.jar
- 26. CFML में URLEncodedFormat() वैध URL वर्णों को एन्कोड क्यों करता है?
- 27. वैध epub
- 28. क्या है (डबल) वैध सी ++?
- 29. शून्य कभी वैध संभाल है?
- 30. खाली स्ट्रिंग वैध एक्सएमएल है?
महान प्रश्न - यह समझना महत्वपूर्ण है कि पैरामीटरयुक्त प्रश्नों के उपयोग से सुरक्षा कितनी गहरी है। – RedFilter