2012-12-01 18 views
6

के लिए ओडाटा चिंता मान लीजिए मेरे पास स्वास्थ्य रिकॉर्ड और एएसपी.नेट एमवीसी आवेदन से भरा डीबी है। मान लीजिए कि कोई अजाक्स अनुरोध पर कॉल करने के लिए यूआरएल "/ api/medicalRecords? $ Filter = id gt 0" का उपयोग करता है। ऐसा लगता है कि यह एसक्यूएल इंजेक्शन के लिए खुला है - बस 10-15 साल पहले ...एसक्यूएल इंजेक्शन

क्या इसका मतलब यह है कि यह मानक इंजेक्शन के लिए मानक खुला है, या यह सर्वर पक्ष पर निर्भर करता है (मैं उपयोग करता हूं IQueryable परिणाम और इकाई ढांचे 4)?

मुझे पता है कि प्रमाणीकरण तंत्र के लिए आवश्यक है - लेकिन इस सवाल के लिए, मान लीजिए कोई प्रमाणीकरण तंत्र उपलब्ध है ...

उत्तर

6

कोशिश इस ब्लॉग पोस्ट है, जो OData और SQL इंजेक्शन के बारे में बहुत विस्तार से जानकारी प्रदान करता है पढ़ने के लिए:

http://kscottmorrison.com/tag/sql-injection/

... OData, ज़ाहिर है, डेटा स्रोत कनेक्शन है, तो इंजेक्शन प्रतिसाद नहीं है समस्या नहीं है- बस इसे पहले स्थान पर पकड़ना पर्याप्त है। तो क्या ... अत्यंत महत्वपूर्ण OData साथ सख्ती से प्रबंधन करने के लिए क्या इस कनेक्शन करने में सक्षम है है

+0

बिल्कुल वही जो मैं खोज रहा था ... और Google ने बहुत मदद नहीं की :-)। अब मैं समझता हूं कि यह सब इस बात पर निर्भर करता है कि मैं कनेक्शन का प्रबंधन कैसे करता हूं और एप्लिकेशन उपयोगकर्ताओं को डेटा का पर्दाफाश करता हूं। – lionheart

3

WCF डेटा सेवाओं जो एसक्यूएल इंजेक्शन के लिए संभावना समाप्त अपने फिल्टर से मूल्यों parameterize होगा ।

मैं डेटाबेस प्रोफाइलर में निष्पादित वास्तविक SQL क्वेरी देखने की अनुशंसा करता हूं।

+0

तो, मुझे समझते हैं - मैं इकाई की रूपरेखा डेटा मॉडल फोन करने के लिए WCF का उपयोग करना होगा? और अगर मैं एनीटीटी फ्रेमवर्क डेटा मॉडल का सीधे उपयोग करता हूं तो क्या होता है? – lionheart

+0

क्या वह नहीं है जो आप पहले से कर रहे हैं? आपका प्रश्न ओईटीए में .NET में है, जो डब्ल्यूसीएफ डाटा सर्विसेज के रूप में आता है। –

+0

नहीं, यह एएसपी.नेट एमवीसी एप्लीकेशन है, और मैं डब्ल्यूसीएफ के उपयोग को हटा देता हूं ... हालांकि, अगर मैं डब्ल्यूसीएफ का उपयोग करता हूं तो मानदंड क्षेत्र में आईडी आईडी 0 से अधिक है, तो यह अभी भी डब्ल्यूसीएफ के लिए कानूनी है ... – lionheart

संबंधित मुद्दे