संपादित करें:क्या संशोधित डेटा सहेजते समय केकपीएचपी स्वचालित रूप से बड़े पैमाने पर असाइनमेंट भेद्यता से निपटता है?
DCoder से अधिक जानकारी प्राप्त करने के बाद, वाक्यांश मैं यहाँ के लिए खोज रहा था एक "बड़े पैमाने पर काम जोखिम है।" इसका मतलब यह है कि, उन सभी तरीकों की सुविधा का लाभ उठाना जो सभी मान्य फ़ील्ड को डेटाबेस में सहेजते हैं, भले ही प्रारंभिक रूप में उनकी उपस्थिति न हो (उन्हें उन लोगों के मुकाबले अधिक संभवतः अधिक संभावित [संभवतः अधिक महत्वपूर्ण] फ़ील्ड वाले पीओएसटी डेटा में छेड़छाड़ करने के लिए कमजोर बना दिया जाता है।)।
दो सामान्य प्रतिक्रियाओं को उचित रूप से श्वेतसूची और ब्लैकलिस्टिंग नाम दिया जाता है; संशोधित करने के लिए लक्षित श्वेतसूची वाले फ़ील्ड, या उन क्षेत्रों को ब्लैकलिस्ट करना जिन्हें संशोधित नहीं किया जाना चाहिए।
मेरा प्रश्न तब निम्नानुसार है: क्या केकपीएचपी स्वचालित रूप से सबमिट करने वाले फॉर्म में केवल उन फ़ील्ड को श्वेतसूची में लाता है, या यह मेरे लिए आवश्यक है (और अन्य केक प्रशंसकों) यह सावधान रहना चाहिए कि हम श्वेतसूची या उचित रूप से ब्लैकलिस्ट कर रहे हैं?
मूल प्रश्न:
केक बढ़िया तरीके रूपों पैदा करते हैं और उन्हें लगभग स्वचालित रूप से संभाल करने का एक बहुत प्रदान करता है। जब मैं सुरक्षा के बारे में सोच रहा था, तो मुझे आश्चर्य हुआ: क्या केक को पता है कि सबमिट किए गए फॉर्म में कौन से फ़ील्ड मौजूद हैं, या क्या यह किसी वैध क्षेत्र को स्वीकार करेगा? यदि मैं समझ में नहीं आता हूं तो निम्नलिखित सेनारियो लें (और किसी को बेहतर तरीके से लिखने के लिए मेरा प्रश्न संपादित करने के लिए आपका स्वागत है अगर वे इसे व्यक्त करने के बेहतर तरीके के बारे में सोच सकते हैं):
मान लें कि मैं अपने उपयोगकर्ताओं को उनके संपादन को अनुमति देता हूं प्रोफ़ाइल। मैं एक फॉर्म बनाता हूं जिसमें उपयोगकर्ता नाम, ई-मेल और पासवर्ड के लिए क्षेत्र edit
के तहत फ़ील्ड हैं।
एक चतुर उपयोगकर्ता में आते हैं और false
से true
करने के लिए अपने is_admin
क्षेत्र बदलना चाहता है, तो वे edit
कार्रवाई है, जो true
के क्षेत्र is_admin
सेट शामिल करने के लिए कस्टम पोस्ट डेटा सबमिट करने फ़ायरबग जैसे ऐप्लिकेशन का उपयोग करें।
सवाल यह है कि क्या केक अपने स्वयं के is_admin
मूल रूप में नहीं था, या क्या मुझे केवल उन फ़ील्ड को स्पष्ट रूप से निर्दिष्ट करने के लिए सावधान रहने की आवश्यकता है जो किसी दिए गए क्रिया को संशोधित कर सकते हैं? क्या कोई आसान तरीका है?
धन्यवाद!
जेम्स
यह "बड़े पैमाने पर काम" के रूप में जाना जाता है और हाल ही में यह सुर्खियों में जब यह किया गया है [ गिटहब "हैक" करने के लिए प्रयोग किया जाता है] (http://arstechnica.com/business/news/2012/03/hacker-commandeers-github-to-prove-vuln-in-ruby.ars)। आम तौर पर इसका समाधान *** whitelisting ** फ़ील्ड जो बड़े पैमाने पर असाइन किया जा सकता है *। – DCoder
@ डीकोडर, धन्यवाद, वास्तविक नाम होने से बहुत मदद मिलती है। मैं उस जानकारी को दर्शाने के लिए प्रश्न को संशोधित करूंगा। – xtraorange