मैं एक Asp.Net WebForms ऐप लिख रहा हूं जहां मैं URL में क्वेरी स्ट्रिंग पैरामीटर का उपयोग करके संपादित किए जाने वाले रिकॉर्ड के बारे में डेटा में गुजरने वाले एक संपादन पृष्ठ को कॉल कर रहा हूं।क्वेरी स्ट्रिंग पैरामीटर मेरे ऐप को जोखिम में डालते हैं?
तरह:
http://myapp.path/QuoteItemEdit.aspx?PK=1234&DeviceType=12&Mode=Edit
ऐप्लिकेशन में पिछले पृष्ठ पर, मैं जांच की मदों की एक GridView वह अपने खाता विशेषाधिकार के आधार पर संपादित कर सकते हैं के साथ उपयोगकर्ता प्रस्तुत किया है, और मैं ऊपर इन के साथ संपादित करें पृष्ठ कहते हैं पैरामीटर सूची, और पेज को पता है कि क्या करना है। मैं लक्ष्य पृष्ठ पर कोई अतिरिक्त जांच नहीं करता हूं यह सत्यापित करने के लिए कि क्या उपयोगकर्ता को पीके रिकॉर्ड वैल्यू में पास किया गया है या नहीं, क्योंकि मैंने सूची को फ़िल्टर करने के लिए पिछले पृष्ठ पर भरोसा करने की योजना बनाई है और मैं ठीक हूं।
हालांकि, यह स्पष्ट है कि उपयोगकर्ता अब एक अलग पीके के लिए एक यूआरएल टाइप कर सकता है और उस रिकॉर्ड को संपादित करने के लिए उपयोग प्राप्त कर सकता है। (या, उसके पास मोड = व्यू तक पहुंच हो सकती है, लेकिन मोड = संपादित या मोड = हटाएं नहीं। मूल रूप से, मैं लक्ष्य पृष्ठ पर रिकॉर्ड और एक्सेस अधिकारों को सत्यापित करने से बचने की उम्मीद कर रहा था।
मैंने भी इसका परीक्षण किया है लक्ष्य पृष्ठ को कॉल करने से पहले पीके, डिवाइसटाइप और मोड को स्टोर करने के लिए सत्र चर का उपयोग करके वर्कफ़्लो का उपयोग करें, और फिर उन्हें लक्ष्य पृष्ठ में सत्र से पढ़ना। इसलिए कोई क्वेरी स्ट्रिंग पैरामीटर शामिल नहीं हैं। यह उपयोगकर्ता से नियंत्रण लेगा।
तो, मैं इन दो दृष्टिकोणों पर प्रतिक्रिया की तलाश कर रहा हूं ताकि मैं इससे निपटने का एक स्वीकार्य/मानक तरीका चुन सकूं, क्योंकि यह सीआरयूडी ऐप्स के लिए एक बहुत ही आम ऐप डिज़ाइन पैटर्न जैसा लगता है।
उत्तर देने वाले सभी के लिए धन्यवाद। स्पष्ट रूप से 100% सहमति यह है कि आपको लक्ष्य पृष्ठ पर पहुंच अधिकारों को मान्य करना होगा, भले ही उपयोग को देखने/करने के लिए पिछले वर्कफ़्लो को डिज़ाइन किया गया हो। मुझे इस सतर्क दृष्टिकोण की सराहना करना सीखना चाहिए। – MattSlay
अफसोस की बात है, मैं केवल एक उत्तर को स्वीकृत के रूप में चिह्नित करने में सक्षम था, लेकिन लगभग किसी को भी स्वीकार्य के रूप में चिह्नित किया जा सकता था। – MattSlay